Technical Instrument Report CDBS 2008-02

Delivery of Reference Files to the Data Management Systems

R. I. Diaz-Miller, M. Cracraft rmiller@stsci.edu,cracraft@stsci.edu

January 11, 2008

Abstract

This TIR describes the INS/CDBS Team’s responsibilities. It defines the standard procedures for the delivery of calibration pipeline and SYNPHOT reference files to the Data Management Systems (DMS). It provides guidelines for test and validation of reference files by the INS/CDBS Team. This is an update to TIR CDBS 2005-02A. It clarifies procedures and describes new tools developed to facilitate the delivery process and better test the reference files. It also provides information on the new disk locations for the reference files and the new procedures adopted for the delivery of the SYNPHOT reference files.

Introduction

In order for reference files to be used by the OTFR pipeline, these files have to be copied to OPUS disks. Pointers to these files are based on instrument modes and applicability dates. On the other hand, their ingestion in the Data Archive and Distribution Services (DADS), disk media and database, allows users to retrieve them from the archive. The main function of the CDBS database is to allow selection of the correct reference files based on an instrument’s configuration and date. The selection is based on data file keyword values and criteria outlined in ICD-47 (http://www.stsci.edu/instruments/observatory/cdbs/documents/icd-47RevF.pdf or http://www.ess.stsci.edu/projects/distribution/ICD47/ICD-47 RevF.pdf.). More information can be found in the CDBS Documents web page (http://www.stsci.edu/hst/observatory/cdbs/documents).

The person creating the file will be checking and assessing the quality of the reference files. The official delivery of the files to CDBS is handled by the INS/CDBS Team. Here we describe detailed steps and procedures for ingesting reference files into the databases.

Summary: Test and Validation of Reference Files

1. Transfer the reference files to a directory in the CDBS delivery area

2. Check the permissions of the files

3. Make sure that all relevant header keywords and history section are present in the header [0] of the FITS file

4. Verify that the files are in standard FITS format

5. Run the CDBS certify tool on the FITS or GEIS header files

6. Create the “load” files

7. Populate the “load” files

8. Certify the “load” files

 9. Run check_load

10. Rename the pipeline reference files to have an unique name identifier

• In the case of SYNPHOT files, make sure that the Throughput table has a number that

is greater than the last delivered version of the file

11. Put the files in a delivery directory and deliver them to the DMS

12. Fill out the template delivery form and e-mail it to the DMS (if OPUS FLAG = Y)

13. Transfer the files to the centralized storage area

14. In the case of SYNPHOT files, create the TMC table and deliver it together with the TMG

and TMT files (if applicable) • e-mail the delivery form to DMS

• Transfer the TMC, TMT, and TMG files to the centralized storage area for further

testing

15. Run cdbs_report

16. Check the size of the files in the archive

17. Check that the files are correctly used in the archive

18. Send notification to deliverer (when applicable)

19. Fill out delivery information on CDBS WIKI

Detailed description of the preparation steps

The following steps assume that you are using the special account for CDBS deliveries and that you are working in the smalls.stsci.edu domain. In this domain, the account settings have the appropriate permissions to access the databases and the different disk locations used for the delivery process. We suggest following these steps in the order they appear, and whenever a problem is found in one of them, try to solve it before proceeding with the next step. A log file should be kept documenting the tests done on the files. As a team convention, save the log with the output of the CDBS and other commands in a file named “delivery.log”. This file will be used by the team as a status report for deliveries. In the following sections, all the examples provided will be given assuming that the outputs are re-directed to this log file. Given that some of the steps described here will use IRAF tasks, open an IRAF session too.

1. Transfer the reference files to a directory in the CDBS delivery area

Create a delivery directory. Currently the deliveries are done from the smalls.stsci.edu domain. The area assigned to test and validate the reference files prior to delivery is located in the directory /calib/cdbs delivery/. Here, each instrument team has a particular area assigned. For example, ACS deliveries are in the /calib/cdbs delivery/ACS/ directory while STIS deliveries are in /calib/cdbs delivery/STIS/. The delivery directories are named after the date when the files were delivered to the CDBS Team, with format yyyy mm dd, where yyyy is the year, mm the month, and dd the day. These files will remain here for safekeeping until the files are ingested into the databases. Complete steps 2 to 18 in this directory. To save disk space, gzip lod files and erase the FITS files after the files have been ingested. A log file should be kept with the output of all the scripts and tasks used to test the files. For this, redirect the outputs to a log file using the append redirection command: “>> &”. Note the “&” character, this is used to record all the output flags, including those that are sent to the standard error instead of standard output.

Transfer the FITS files from the deliverer directory to this directory using FTP or copy (if they are already in the smalls.stsci.edu domain). When using FTP remember that you are transferring binary files and that the transferring mode has to be binary.

In the case of WFPC2 files (except for the IDC reference file), the delivery will have instead of FITS files, four GEIS files (two files “*d” and two files “*h”) and one “*.lod” file per delivered reference file. Transfer all to the smalls working directory. Note also that these files do not have the usual extensions (e.g. “drk”). In this case, the format of the files is rootname.r#x; where # can be a digit between 0 and 6, and x will be the letter “d” or “h”. In the case of WFPC2 ”drk” files, the root name of the files should be unique, i.e. the WFPC2 Team has already renamed them using the uniqname script. This is because the ”drk” files are generated authomatically. Other type of files should be renamed with the uniqname script by us.

If the delivery is of SYNPHOT throughput files and you also receive a “Master Graph Table” (TMG; for the file extension name) and the “HST Thermal Components Master Table” (TMT; for the file extension name), make sure that you put the throughput and the TMG and TMT files in different directories, for example, a subdirectory labeled tmtables. This is because the TMG and TMT files have to be delivered together with the “Master Component Table” (TMC; for the file extension name) after all the throughput files are in the system. Perform the following steps for the throughput tables only. The TMG and TMT files will be tested later, together with the TMC file.

2. Check the permissions of the files

Using the command ls -la, make sure that all the files in the delivery directory have“user”, “group”, and “other” read permissions. For example, in the following list:

-rw-r--r-- 1 srefpipe 31680 May 11 17:31 p5b1731aj idc.fits
-rw-r--r-- 1 srefpipe 22068 May 11 17:31 p5b1731aj idc.lod

the string -rw-r--r-- indicates that the files can be read by anybody. This is necessary for the files to be correctly transfered to the OPUS and test areas.

3. Make sure that relevant header keywords and history section are present.

As mentioned in TIR CDBS 2005-01A, there are four header keywords that should be present and correctly populated in all reference files: PEDIGREE, USEAFTER, DESCRIP and COMMENT. For SYNPHOT data files, the header keywords: INSTRUME, COMPNAME, and DBTABLE should also be checked. To do this check, the IRAF tasks hedit or hselect, or command more can be used. Examples of hedit and hselect tasks are:

hedit *.fits[0] pedigree,useafter,descrip,comment .
or
hselect *fits[0] $i,pedigree,useafter,descrip,comment yes

An example using more:

more nameoffile.fits

In the more case, only one file at a time can be checked. To escape more mode, type “q”. In the case of WFPC2 GEIS reference files, only the GEIS header files have to be checked. The GEIS header files are ASCII files and have extensions ending in “h”. In this step, the two header files per dataset have to be checked to make sure they have the same and complete information.

If any of the relevant keywords are missing from the header of the files, contact the deliverer and request the needed information. If the field COMMENT is missing, it can be filled with the name of the deliverer as the creator of the file; e.g.,

“Reference file created by J. Smith.”

This can be done using the IRAF command hedit and selecting the add option:

hedit filename xxx.fits[0] COMMENT ``Reference file created by J. Smith.''  add+

Note, however, that some FITS reference files have a default COMMENT section that refers to the FITS file format and which cannot be modified or erased. The FITS default COMMENT section is different than the COMMENT section (header keyword) referred to here. The way to distinguish between these two is by their format. In the case of the CDBS required COMMENT line, the word COMMENT is followed by an “=”, as in the example above and should list the people who created the file. For the cases when the FITS COMMENT line exists, the CDBS COMMENT can not be added with the IRAF task hedit, but in the following two ways.

Using IRAF, you can first delete the default FITS COMMENT lines that appear in the file and then add the new one. The commands needed to do this are:

cl> thedit file.fits[0] comment delete+
cl> hedit file.fits[0] comment "= 'comment string'" add+

Note that the ”=” should be added at the beginning, or a comment section line would be added rather than the header keyword you were trying to create. The other way to add the header keyword is by using Pyraf as follows.

import pyfits
hdulist=pyfits.open(myfile.fits,mode=update)
hdulist[0].header.add comment(= comment string,before=origin)
hdulist.flush()

This last one will add a header keyword COMMENT even if a comment section already existed.

In the case of the history section, check that it has a section relevant to the current delivery. This can be checked by comparing with the information provided in the delivery form. If this information was not provided request it from the deliverer. Check TIR CDBS 2005-01 for the relevant information needed in the “history” section and how to update it within IRAF.

When checking the HISTORY lines, keep in mind that there is a known bug in the CDBS software which could make the delivery fail. The information of the tracking file, known as a “load” file and accompanying each delivered file, is extracted from some of the header keywords and history lines of the FITS file. Before they go in the “load” file, those are stripped of the word HISTORY, extra spaces, and blank lines. Therefore, if a history line has the word “go” at the beginning of a line, it would be mistaken for the “go” SQL command and the ingest will fail with no clear error. Check all the lines of the history to make sure that none starts with this word.

For WFPC2 GEIS reference files, the “*h” files contain the header information. These are ASCII files and can be checked all at once using your favorite text editor or with grep. For example,

 grep -n USEAFTER *h
or

grep -n COMMENT *h

Check all the header keywords and HISTORY section this way.

4. Verify that the files are in standard FITS format

Although the person creating the reference files has already verified that these are in standard FITS format, double check them, as files that are not in standard FITS format cannot be ingested into the databases. (Note that GEIS files should not be tested with this command.) For this, run the fitsverify script on the files:

fitsverify filename >>& delivery.log

In the STScI Science Cluster, the fitsverify version is different than that in smalls.stsci.edu domain and some of the files could fail this test even though they pass the fitsverify test in smalls.stsci.edu. Therefore, in the Science Cluster, the FITS format verification has to be done

with farris_fitsverify, which is the same one as the fitsverify version in smalls.stsci.edu.
farris fitsverify filename >>& delivery.log

Wildcards may be used instead of file names, e.g., filename can be *.fits. A sample output from this script looks like this:

 ===================================================================
FITS Verification for file:  lbq1211ao bia.fits
===================================================================
Summary contents of FITS file:  lbq1211ao bia.fits
0:  Primary Array ( SHORT )
0 bytes, 108 header lines, 3 FITS blocks
1:  Image Extension ( FLOAT ) [IMAGE,SCI,1] 2 dims [1024,1024]
4194304 bytes, 36 header lines, 1458 FITS blocks
2:  Image Extension ( FLOAT ) [IMAGE,ERR,1] 2 dims [1024,1024]
4194304 bytes, 36 header lines, 1458 FITS blocks
3:  Image Extension ( SHORT ) [IMAGE,DQ,1] 2 dims [1024,1024]
2097152 bytes, 36 header lines, 730 FITS blocks
No special records.
===================================================================
No problems were encountered.

Examples of problems encountered with the files in this verification include:

• extra spaces in keyword fields • incorrect format for DATE keyword field (18/12/00 instead of Dec 18, 2000)

• missing PCOUNT and GCOUNT keywords in extension headers.

If any problems are found at this stage, send a message to the deliverer (Cc: cdbs@stsci.edu) with an explanation of the problem. Notify the deliverer that with this message you are canceling the delivery and that you need to receive a new delivery form when the file(s) has been fixed. If you are able to identify the problem include this information in your e-mail. Remember that it is the responsibility of the deliverer to make sure that the delivered files are FITS format compliant.

5. Run the CDBS certify tool on the files.

The CDBS certify tool performs further checking on the syntax and keyword values in the reference file, ensuring adherence to ICD-47 specifications for each type of reference file. Instrument specific header keywords and columns (in a table file) that are necessary for the correct selection of a reference file will be checked. In the particular case of WFPC2 GEIS files, only the GEIS header files (extension *.*h) should be run against certify. For SYNPHOT Atlas files, the certify tool is not run, as these are not recognized by the CDBS tools. For all the other cases, any errors in this file should be resolved before proceeding with the next step. Note that most CDBS scripts can also be accessed through IRAF in the stlocal.cdbsutil package; but those are likely an older version than the command line versions, so do not use them. When using the tools in this document on a Solaris machine, be sure that it is a Solaris 10 machine (smalls is a Solaris 10), as the tests are likely to fail on an earlier version of Solaris. The certify tool is run by typing in the command line:

certify filename.fits >>& delivery.log
or
certify filename.*h >>& delivery.log

Wildcards may be used for filenames; e.g., *.fits or *.*h for WFPC2 header files. More detailed documentation on the certify task is available, in postscript format, in the CDBS web page (http://www.stsci.edu/hst/observatory/cdbs/documents/). The certify tool does not check all the keyword syntax and values in the reference file, but only those that are specifically used in CDBS, OPUS, and DADS for selecting and tracking the reference files. A complete list of the instrument-dependent standard header keywords can be found in ICD-47.

These required keywords are accessed by certify via CDBS template files; template files end with “.tpn”. There is a pair of files for each reference file type. One is for the FITS or GEIS files and one is for the “load” files (* ld.tpn). These files are located in the CDBS working areas of the Science Cluster and the smalls.stsci.edu domain. In the smalls domain, these files are currently in the /store/smalls/cdbs/tools/data/ directory, while in the centralized storage the files are located in the /grp/hst/cdbs/tools/data/ directory. Note that whenever a template file is updated in the smalls domain, it should also be updated in the Science Cluster, otherwise the person delivering the file and working in the Science Cluster will not be using the most up to date version. A more detailed explanation on the procedures to change these files will be given in another CDBS TIR. A sample of the template file for the STIS PHT reference file looks like this:

# Template file used by certify to check reference files
# Some fields may be abbreviated to their first character:
#
# keytype = (Header|Group|Column)
# datatype = (Integer|Real|Logical|Double|Character)
# presence = (Optional|Required)
#
# NAME KEYTYPE DATATYPE PRESENCE VALUES
#----------------------------------------------------------
INSTRUME H C R STIS
FILETYPE H C R "PHOTOMETRIC CONVERSION TABLE"
DETECTOR H C R CCD,NUV-MAMA,FUV-MAMA
OBSTYPE H C R IMAGING,SPECTROSCOPIC
OPT ELEM C C R G140L,G140M,E140M,E140H,G230L,\
G230M,E230M,E230H,PRISM,G230LB,G230MB,G430L,G430M,G750L,G750M,\
MIRCUV,MIRFUV,MIRNUV,MIRVIS,X140H,X140M,X230H,X230M,N/A
CENWAVE H I R
1173,1200,1218,1222,1234,1271,1272,\
1307,1321,1343,1371,1380,1387,1400,1416,1420,1425,1453,1470,1489,\
1518,1526,1540,1550,1562,1567,1575,1598,1616,1640,1665,1687,1713,1714,\
1763,1769,1813,1851,1854,1863,1884,1913,1933,1963,1978,1995,2013,\
2014,2063,2095,2113,2124,2125,2135,2163,2176,2213,2257,2263,2269,\
2276,2313,2338,2363,2375,2376,2413,2415,2416,2419,2463,2499,2513,\
2557,2561,2563,2579,2600,2613,2659,2663,2697,2707,2713,2739,2762,\
2794,2800,2812,2818,2828,2836,2862,2898,2912,2962,2976,2977,3012,\
3055,3115,3165,3305,3423,3680,3843,3936,4194,4300,4451,4706,4781,\
4961,5093,5216,5471,5734,6094,6252,6581,6768,7283,7751,7795,8311,\
8561,8825,8975,9286,9336,9806,9851,10363,\
1232,1269,1305,1341,1378,1414,1451,1487,1523,1560,1587,1760,\
2010,2261,2511,2760,3010,1975,2703,-1,-999
USEAFTER H C R &SYBDATE
PEDIGREE C C R &PEDIGREE
DESCRIP C C R

A sample of the certify output for a file that has a problem is:

== Checking mama2 PFL.fits ==
Could not match keywords in header (mama2 PFL.fits)
Cannot determine reference file type (mama2 PFL.fits)

If you encounter a problem at this stage; first check to see if there are any obvious problems with the file header keywords or keyword values. A complete list of required and valid values for the header keywords can be found in the template files or in ICD-47. If you identify the cause of the error, contact the person delivering the file to describe the problem and solicit input to fix the file. You could also reject the delivery and request the deliverer to send a new delivery form once the reference file has been fixed. In this case, you will have to re-start the process from step 1.

6. Create the “load” file

In order to correctly ingest the files in CDBS, an ASCII “load” (*.lod) file is created for each reference file. This “load” file contains information from the reference file header, and information from the database about existing reference files. Exceptions to this are deliveries for WFPC2 data composed of GEIS files and SYNPHOT Atlas files. The process for these files will be explained at the end of this section.

The information in the “load” file is used in the delivery process to create SQL command scripts that populate the databases with the necessary information for the correct selection of the files. The “load” file will have the same root name as the FITS reference file, but with the extension “lod”. The file consists of two sections: the header section and the row section. For image reference files, there is one header section followed by one row section. For table reference files there is one header section followed by one or more row sections, each corresponding to a row, or group of rows, in the reference table. The number of rows for table files is usually determined by the selection criteria for the given reference file; therefore, regardless of the number of rows in the table, some table reference files will have several row sections in the “load” file while others will have only one. To create the “load” file type the following command:

 mkload filename >>& delivery.log

Wildcards may be used for filenames, e.g., filename can be *.fits. In the case of WFPC2 GEIS files, filename is the name of the GEIS header file with extension “.r*h”, and will be discussed later. An example of a “load” file for a reference file image:

 FILE NAME = 11x1 2001 1120 1125 ref bia.fits
INSTRUMENT = stis
REFERENCE FILE TYPE = bia
USEAFTER DATE = Nov 20 2001 00:00:00
COMPARISON FILE = lbq12111o bia.fits
OPUS FLAG =
COMMENT =
ENDHEADER
CHANGE LEVEL =
PEDIGREE = INFLIGHT
OBSERVATION BEGIN DATE = Nov 20 2001
OBSERVATION END DATE = Nov 25 2001
BINAXIS1 = 1

BINAXIS2 = 1
CCDAMP = D
CCDGAIN = 1
CCDOFFST = 3
DETECTOR = CCD
COMMENT =
ENDROW
ENDFILE

The mkload command will use information contained in the FITS file to fill some of the fields of the “load” file. There are a few more things about this file and command that are worth mentioning. The mkload command automatically fills the USEAFTER_DATE field with the USEAFTER header keyword information in the FITS file, while the COMPARISON_FILE parameter is obtained from the CDBS database. In the latter case, the information from the header and row level information is used to determine the correct comparison reference file. If no file of the same type is found (e.g. when a new type or new mode is being delivered) this parameter will be filled with the value (INITIAL). This prevents other CDBS commands from trying to compare the fields of the new reference file with those of an old file. Note also that in the case when the reference file

has a PEDIGREE value of INFLIGHT, the mkload task will populate the OBSERVATION_BEGIN_DATE

and OBSERVATION_END_DATE with the dates given in the FITS file header keyword. More detailed documentation on the mkload task is available in postscript format in the CDBS web page (http://www.stsci.edu/instruments/observatory/cdbs/documents/).

In the case of dark and bias WFPC2 files, we receive four GEIS files for each reference file and the “load” file, so we do not have to create it. For other cases, the “load” file should be created using the GEIS header file with extension ending in “r?h” (where ? can be a digit between 0 and 6). In the case of WFPC2 “IDC” reference tables, standard FITS files are delivered and those can be treated as any other FITS reference file mentioned at the beginning of this section.

In the case of SYNPHOT Atlas files (e.g. Kurucz), the files are not recognized by the CDBS tools, so the “lod” file cannot be created. These files are not delivered to the CDBS, OPUS, or DADS databases; however, these need to be copied to the corresponding directory in the centralized storage (refer to section 13).

7. Populate the “load” files and check them

The “load” file has several important fields that should be populated. As we mentioned in step 6, some of the fields are automatically populated by mkload using the information from the primary and extension headers of the FITS file. Here we will describe those fields for which the content is common to all instruments. These fields are: OPUS_FLAG and COMMENT in the header

section, and CHANGE_LEVEL, PEDIGREE, OBSERVATION_BEGIN_DATE, and OBSERVATION_END_DATE

fields in the row section. Other fields in the “load” file vary from file to file and therefore will not be mentioned. Note also that an IRAF task, setlodkeywd, has been developed to help populate the “load” files and will be explained in detail later in this section.

OPUS FLAG

Set this to Y or N to indicate whether the files are intended for pipeline use or not. We do expect to deliver reference files that will not be used in the pipeline; for example, development SYNPHOT WFC3 or COS files. The OPUS_FLAG should be set to N for such cases, and the files will not be delivered to the OPUS and DADS databases. This information should be given by the deliverer via the delivery form. Note that the OPUS_FLAG for the TMG, TMT, and TMC should always be set to Y, so the latest version is always stored in the archive.

COMMENT (in the header section)

The COMMENT section in the “load” file is the equivalent to the HISTORY section in the data header. The information included here will appear in the StarView forms and on the reference file webpages; therefore, it is recommended to fill this section with information relevant to the delivered file only. This information should be provided by the deliverer and be part of the HISTORY section in the FITS reference file.

CHANGE LEVEL

This keyword defines the level of change of the reference file with respect to the last delivered file (given in the field COMPARISON_FILE). Note that for table reference files, the changes could affect only a few rows in the file. In this case, only the modified rows should have a value other than TRIVIAL (the rows that were not modified should always be TRIVIAL); however, in some cases even the change level of the modified rows could also be TRIVIAL. In the case of image reference files, there is only one row section. The CHANGE_LEVEL should be set to one of three values: SEVERE, MODERATE, or TRIVIAL. The criteria for each are:

SEVERE

i Initial delivery of any file

ii Change that requires existing data to be recalibrated

iii The row-level field for a table has changed by more than 50% compared to the

COMPARISON_FILE

MODERATE

i Changes are significant, but do not warrant data recalibration

ii The row-level field for a table has changed by 10-50% compared to the COMPARISON_FILE

TRIVIAL

i Changes are insignificant (e.g., fixing typos; removing erroneous but unused rows from a table), and do not warrant data recalibration.

ii No changes made to the row or image

PEDIGREE

This should be GROUND, DUMMY or INFLIGHT and is populated with the value given in the header keyword of the FITS file. Note that this field should have been filled already by the CDBS script mkload for pipeline reference files and SYNPHOT throughput tables. In the case of the TMC file, however, this field is not filled by the mkload script. The value will have to be entered manually so that the PEDIGREE value for the TMC table matches the value in the SYNPHOT throughput tables that triggered the remake of the the TMC table.

OBSERVATION BEGIN DATE and OBSERVATION END DATE

These are the actual start and end date of acquisition of the calibration data used to create the reference file. The format should be Month Day Year (e.g., April 12, 2001) to be consistent with the USEAFTER date format. These fields are populated by the mkload script and are left blank

when the PEDIGREE values are DUMMY or GROUND.

COMMENT (in the row section)

The COMMENT field in the row section can be blank if there are no relevant comments at the row level, but use of comments at the row level is strongly encouraged. We will be delivering reference file tables where only a few rows of the table have changed significantly as compared to the old reference file. In such cases, row-level comments may be more appropriate than header-level comments, and they are required under such circumstances.

An IRAF task called setlodkeywd has been developed for use in populating keyword fields in the “load” files automatically. This is particularly useful if a large number of files need to have fields populated in an identical manner. This task has been defined within the delivery account IRAF tasks. An lpar of the task looks like this:

infile = "@filelist " File or list of lod files to fix
comments = yes Add comments?  (yes/no/append)
change level = " " Change level value:  SEVERE, MODERATE, TRIVIAL
opus flag = " " Opus flag (Y/N)
pedigree =" " Pedigree entry:  GROUND, DUMMY, IN-FLIGHT
(inlist = " ")
(inlod= " ")
(mode = " q")

where infile should have one “load” file name or a list of “load” files to be edited. You can create a list of “load” files with the command

ls *.lod >>& filelist

If a list of files is used, the ’@’ symbol has to precede the list name (as in the example). DO NOT use ’*.lod’ in the paramenter ’infile’ because it won’t work. Also, be aware that if you put the names of the FITS files here accidentally, this task will overwrite the .fits files and corrupt them, making it necessary to re-retrieve them from the deliverer’s directory before you can continue.

comments = yes will copy DESCRIP and all HISTORY lines from the FITS reference file header, deleting what is currently present in this entry. If comments = no, nothing will be copied from the reference file and information present in this field will not be changed. Always set this to comments = yes.

change level is the change level value. Refer to explanation above for the appropriate value to use. If it is left blank, the current entry will remain unchanged.

opus flag = ” ” is the opus flag value. Refer to explanation above. If it is left blank, the current entry will remain unchanged.

pedigree = ” ” is the pedigree value. Refer to above explanation. If it is left blank, the current keyword value will be retained.

inlist, inlod are list parameters used internally by the task. Do not enter any value here.

An example of a filled “load” file looks like this:

 FILE NAME = 11x1 2001 1120 1125 ref bia.fits
INSTRUMENT = stis
REFERENCE FILE TYPE = bia
USEAFTER DATE = Nov 20 2001 00:00:00
COMPARISON FILE= lbq12111o bia.fits
OPUS FLAG = Y
COMMENT = Superbias created by R. Diaz-Miller
Created on Dec 19, 2001 using the cl scripts
``refbias'' and "refaver", which are available
in the (local) xstis package within STSDAS.
Superbias image, combination of 98 input bias frames
taken in CCDGAIN=1, BINAXIS1=1, BINAXIS2=1 mode.
All input frames were from Proposal(s):
8901/8903 "CCD Bias Monitor".
The following input files were used:
o6hn2b010
o6hn2c010
o6hn2d010
o6hn2e010
o6hn2f010
o6hn2g010
cl script "refbias" was run on these input files,
after having split them up into sub-lists of less
than 30 imsets each.  After running "refbias" on the

individual sub-lists, script "refaver" was run to
average the reference files resulting from the
individual "refbias" runs together.
ENDHEADER
CHANGE LEVEL = SEVERE
PEDIGREE = INFLIGHT
OBSERVATION BEGIN DATE = Nov 20 2001
OBSERVATION END DATE = Nov 25 2001
BINAXIS1 = 1
BINAXIS2 = 1
CCDAMP = D
CCDGAIN = 1
CCDOFFST = 3
DETECTOR = CCD
COMMENT =
ENDROW
ENDFILE

Note that in some cases a new reference table may be identical to its predecessor with the exception of some rows within the table. In this case, use the CHANGE_LEVEL from these rows as indicated in the delivery form and set to TRIVIAL the unchanged row groups. Currently, the task setlodkeywd can only change all of the lines in a “load” file to the same value. Should the file require multiple values, the “load” file will need to be edited “by hand” with your favorite text editor. An example of such a situation follows. A new PHT table where the G230LB mode was updated while the G230MB mode was unchanged has the following row sections:

CHANGE LEVEL = SEVERE
PEDIGREE = INFLIGHT
OBSERVATION BEGIN DATE = May 21 1997
OBSERVATION END DATE = Jul 1 1997
CENWAVE = -1
DETECTOR = CCD
OBSTYPE = SPECTROSCOPIC
OPT ELEM = G230LB
COMMENT = New calibration from program 9117
ENDROW
CHANGE LEVEL = TRIVIAL
PEDIGREE = GROUND
OBSERVATION BEGIN DATE =
OBSERVATION END DATE =
CENWAVE = -1
DETECTOR = CCD

OBSTYPE = SPECTROSCOPIC
OPT ELEM = G230MB
COMMENT =
ENDROW

Check the COMPARISON FILE parameter

There are cases when the mkload script puts more than one entry in the COMPARISON_FILE parameter. In those cases, all the entries should be erased except for one. Leave the most recent reference file from that list. If more than one file is in this parameter, the delivery will fail.

8. Certify the “load” files.

After creation of the “load” files they also need to be certified:

certify filename.lod >>& delivery.log

where “filename.lod” can be replaced by a wildcard (*.lod). If the reference FITS file, and consequently the “load” file, uses wildcard values, -1, -999, ANY, or N/A, for any of the header keywords (see ICD-47), certify will report the following “error” and the “load” file needs to be “expanded”:

Error in opt elem[1]:  ``any'' is not a legal value.  May need to run expload
Error in cenwave[1]:  ``-1'' is not a legal value.  May need to run expload

Note that this applies to image reference files only, table reference files are expanded appropiately by the mkload script. With the term “expanded”, we mean that the wild cards in the image “load” file have to be replaced with actual values. To “expand” the image “load” files, run the CDBS task expload. (The wild cards are usually more than one value and therefore the “expload” name.)

expload filename in.lod filename out.lod /store/smalls/cdbs/tools/data/####.rule

where the “filename in.lod” file can be the same as “filename out.lod”; in which case the changes will be written in the same file (note that this task does not take wildcard syntax on the command line). Expload expands the “load” file in those cases where a single reference file is to be used for many modes. For example, suppose we have a reference file that is applicable for ANY optical element (OPT_ELEM) of the STIS spectroscopic observing modes. Expload will “expand” the “load” file to cover all legal OPT_ELEM values, providing one row section in the “load” file for each of the OPT_ELEM values. The expansion of the files is governed by the so-called “####.rule” file, where #### is replaced by the instrument name. The rule files for each instrument are located in the CDBS data directory /store/smalls/cdbs/tools/data/ in the smalls.stsci.edu domain or /grp/hst/cdbs/tools/data/ in the Science Cluster. This file shows the current legal values that will be used to replace wildcard values in the expansion. In the above example, the expanding rule for combination OBSTYPE=SPECTROSCOPIC and OPT_ELEM=ANY (taken from the stis.rule file) is:

OBSTYPE = SPECTROSCOPIC && OPT ELEM = ANY =>
OPT ELEM=G140L || OPT ELEM=G140M || OPT ELEM=E140M ||
OPT ELEM=E140H || OPT ELEM=G230L || OPT ELEM=G230M ||
OPT ELEM=E230M || OPT ELEM=E230H || OPT ELEM=PRISM ||
OPT ELEM=G230LB || OPT ELEM=G230MB || OPT ELEM=G430L ||
OPT ELEM=G430M || OPT ELEM=G750L || OPT ELEM=G750M ||
OPT ELEM=X140H || OPT ELEM=X140M || OPT ELEM=X230H ||
OPT ELEM=X230M;

Once the file has been properly exploaded, run certify again until there are no errors or expansions required. Repeat this step as necessary until certify does not report any missing keyword information.

In order to simplify this work, one script has been created to expand several files of the same kind at once. The script is called multi_expload. This script needs the information of the instrument to which these files apply and the extension of the file (in this case it is the last characters of the file name and not the type of reference file). For example, to run this command for ACS dark reference files with names “*drk.fits”, type:

 multi expload drk acs

Note that you first have to give the extension of the file and then the instrument name.

9. Run check load

The CDBS task, check_load, must be run on the “load” files before they can be delivered. This task takes wildcards.

check load *.lod >>& delivery.log

The output from this task will look like the following:

starting check load
database cdbs ops
server CATLOG
Thu Feb 26 11:25:26 EST 1998
load file:  i2916173o drk.lod
header file:  i2916173o drk.fits

Wrote file (i2916173o drk.lod)
no differences for file i2916173o drk.lod

10. Rename the files to have an unique name identifier

Once the reference files are ready to be ingested into the databases, the files have to be renamed with an unique name identifier.

SYNPHOT

In the case of SYNPHOT Throughput tables, an incremental number format is used for the naming of new data files. When the SYNPHOT files were delivered they are likely to have been already re-named to the next value; however, make sure that this is the case by checking the SYNPHOT disk area ( /grp/hst/cdbs/comp/ in the centralized storage area or /store/smalls/ref/ in the smalls.stsci.edu domain). Identify the type of file by its name and check that indeed the number of the new file does not exist. In some cases, the instrument teams choose to skip values, this is not a problem and you can deliver the files that way provided that the number does not previously exist. If these files do not have an unique name, however, use the task uniqname as described for the pipeline reference files. Be sure in this case that the assigned number is larger than that of the older files.

Note that if SYNPHOT Atlas files (e.g. Kurucz) are delivered, those have special names that cannot be changed and therefore the same file name should be used to replace the old file.

Pipeline Reference Files

For the case of calibration reference files, assign an unique name using the CDBS script called

uniqname:
uniqname *.lod >>& delivery.log

The files will be renamed to CDBS style reference file names. More details about the naming conventions used by the script are described in the CDBS documentation web page (http://www.stsci.edu/instruments/observatory/cdbs/documents/).

Note that the WFPC2 team usually renames the files themselves. This is because, at least for bias and darks reference files, they use an automatic script that does this step. In these cases we don’t have to run uniqname on the files .

11. Put the files in a delivery directory and deliver them to the DMS

In the case of pipeline reference files or SYNPHOT Throughput tables, copy the FITS and “load” files to be delivered to an empty directory. The delivery script does not work if there are other files in this directory. Some empty directories already exist for this purpose. These are under /calib/cdbs delivery/ directory and have names “deliveryfiles*”. Deliver the reference files to the CDBS database, and when applicable to the OPUS and DADS databases, using the sendit script:

sendit >>& ../workingdir/delivery.log

where the “workingdir” is the delivery path where the files were tested before delivery. This script will re-check that the files are FITS and CDBS compliant, will create SQL command inputs for the databases, and will copy the delivered files to a fixed location from where the Data Management System Teams will collect the data.

In the case of WFPC2 files, sendit converts the GEIS files to “waiver” FITS type before they are delivered to the databases or DMS disks. In the particular case of SYNPHOT Atlas files (e.g. Kurucz), the files cannot be delivered this way so skip this step.

More detailed information on the steps performed by sendit will be described in another TIR. An example of the sendit output for a successful delivery is:

You start your delivery process at:Mon Apr 4 19:39:02 GMT 2005 starting deliver cdbs database cdbs ops server CATLOG Mon Apr 4 19:39:02 GMT 2005 ——————————————— starting certify delivery Mon Apr 4 19:39:02 GMT 2005 == Checking p441909no pht.fits == == Checking p441909no pht.lod == certify delivery succeeded ——————————————— starting loopfits delivery Mon Apr 4 19:39:03 GMT 2005 converting: created output file loopfits.out loopfits delivery succeeded ——————————————— starting farris fitsverify delivery Mon Apr 4 19:39:03 GMT 2005 no errors or warnings reported by farris fitsverify created output file farris fitsverify.out fitsverify delivery succeeded ——————————————— starting check load database cdbs ops server CATLOG Mon Apr 4 19:39:03 GMT 2005 load file: p441909no pht.lod header file: p441909no pht.fits Wrote file (p441909no pht.lod) no differences for file p441909no pht.lod lcheck load succeeded ——————————————— starting cdbs sql gen database cdbs ops server CATLOG Mon Apr 4 19:39:05 GMT 2005 delivery number = 11560 lock acquired load file(s) p441909no pht.lod Processing p441909no pht.lod ...

Warning: No comparison file records matched mode values for row 6. New equivalence class values and a SEVERE change level were used

Processing complete – cdbs delivery11560.sql generated cdbs sql gen succeeded ——————————————— starting run delivery sql database cdbs ops server CATLOG Mon Apr 4 19:39:08 GMT 2005 /calib/cdbs delivery/deliverfiles2/cdbs delivery11560.sql.out using file /calib/cdbs delivery/deliverfiles2/cdbs delivery11560.sql no errors in processing sql file /calib/cdbs delivery/deliverfiles2/cdbs delivery11560.sql created output file /calib/cdbs delivery/deliverfiles2/cdbs delivery11560.sql.out run delivery sql succeeded ——————————————— starting check cdbs database cdbs ops server CATLOG Mon Apr 4 19:39:09 GMT 2005 delivery 11560 in progress missing modes check uni check synphot compname check expansion number check archive date check general availability date check opus load date check 1 opus load date check 2 row check file check reject check 1 reject check 2 current reject check 3 current delivery number check reject check 4

output file check cdbs 11560.out created 4 warning(s): see output file check cdbs 11560.out No errors. check cdbs succeeded ——————————————— starting opus sql gen database cdbs ops server CATLOG Mon Apr 4 19:39:39 GMT 2005

created opus 11560 o.sql opus sql gen succeeded ——————————————— starting update ga date database cdbs ops server CATLOG Mon Apr 4 19:39:39 GMT 2005 delivery number = 11560 general availability date was updated cdbs ops lock released update ga date succeeded ——————————————— starting opus catalog database cdbs ops server CATLOG Mon Apr 4 19:39:40 GMT 2005 delivery number= 11560 instr= o catalog file= opus 11560 o.cat opus catalog succeeded ——————————————— deliver cdbs completed Mon Apr 4 19:39:41 GMT 2005

total execution times:

real 39.1 user 7.0 sys 7.4

##### #####

...CDBS process done...Making links for delivery pick-up... linking p441909no pht.fits linking opus 11560 o.cat linking opus 11560 o.sql

##### #####

...You have successfully finished the delivery process...

##### ##### ##### #####

Process finished at:Mon Apr 4 19:39:42 GMT 2005

### ### ### ### ### ### ### ### ### ### ### ### ### ### ### ###

The sendit script performs the basic tests and creates SQL command input files. After these are completed, a unique delivery number is assigned (indicated in bold in the above output). If the delivery happens to fail after this number has been assigned, the delivery has to be cancelled before another delivery or redelivery can occur. This is done running the command delete_delivery:

delete delivery >>& ../workingdir/delivery.log

This will unlock the databases and will correctly exit the delivery process. An example of a failed delivery is:

run delivery sql succeeded ——————————————— starting check cdbs database cdbs ops server CATLOG Mon Apr 4 19:16:25 GMT 2005 delivery 11559 in progress missing modes check uni check synphot compname check expansion number check archive date check general availability date check opus load date check 1 opus load date check 2 row check file check reject check 1 reject check 2 current reject check 3 current delivery number check reject check 4

output file check cdbs 11559.out created 4 warning(s): see output file check cdbs 11559.out 1 error(s): see output file check cdbs 11559.out CDBS ERROR: check cdbs failure. Exiting.

real 33.7 user 6.4 sys 5.3 FAILURE of deliver cdbs.

In this example, the first successful lines of the sendit’s output are not shown. If the delivery fails before the delivery number has been assigned, the delete_delivery command does not need to be run.

12. Fill the delivery form and e-mail it to DMS.

If the *.lod files have OPUS_FLAG = Y (e.g. all pipeline reference files), immediately after the delivery software (or sendit) successfully populated the CDBS database, you have to notify DMS of the delivery; so they can check that the files are ingested properly in the different DMS areas. When OPUS_FLAG = N, the files are sent only to the CDBS database, as those do not affect the pipeline calibration products and should only be used by SYNPHOT. In the latter case DMS should not be notified. For those cases when a notification is needed, submit an e-mail to the e-mail address cdbs datamng@stsci.edu using the following formatted form (a template of this form is in the file /calib/cdbs directory/form):

Date:
By:
Instrument:
File type(s) (e.g.  PHT, DRK):
Directory where data is found:
/calib/cdbs delivery/.../2005 ... .../
Description of data delivered:

Delivery number:
Opus ingest date:
Opus signoff

where Date is today’s date. In By:, put your name; in Instrument, put the name of the instrument or team for which you are delivering the reference files; in File type(s), put the extension (e.g. PHT, DRK) of the file delivered. The information in Directory where data is found: is for our records. This directory is the directory where you tested the files before delivery. In this case replace the “...” by the appropriate values according to the instrument and the date of delivery. In the section Description of data delivered: list the datasets delivered and the opus* ASCII files that were created by the script sendit. For example, use the ls -la:

-rw-rw-rwx 4 srefpipe 108 Mar 25 16:56 opus 11556 j.cat*
-rw-rw-rwx 4 srefpipe 1499 Mar 25 16:56 opus 11556 j.sql*
-rw-rw-rwx 4 srefpipe 164160 Mar 25 16:53 p3p1650tj mdz.fits*
-rw-r--r-- 1 srefpipe 1046 Mar 25 16:53 p3p1650tj mdz.lod

and copy and paste this information to the delivery form. In the case of WFPC2 files, list only the “waiver” FITS files and “opus*” files. Finally, in Delivery number put the number of the delivery. The subject of this e-mail has to be: Delivery #####, where ##### is the number of the delivery. The last two fields (opus ingest date and opus ingest signoff) are left blank and will be filled by the OPUS team’s person ingesting the file. Save a copy of the completed form in the directory /calib/cdbs_directory/deliveryforms/ with a filename of the format yyyy mm dd ins where ins is the instrument, such as acs, wfpc2, etc.

13. Transfer the files to the centralized storage area

Currently the deliveries are made in the SunFire15K system and these disks cannot be mounted in the Science Cluster. Therefore, a copy of the reference files have to be transfered to the directories located in the centralized storage area. In this area, each of the instrument teams has an assigned area to store the reference files, one for pipeline reference files and another for SYNPHOT reference files. Each of these directories can be accessed from the /grp/hst/cdbs/ directory. The specific disk location for each of the instrument teams is:

Directory Path ————————————— reference files /grp/hst/cdbs/

Instrument calibration  SYNPHOT
ACS  jref/  comp/acs/
STIS  oref/  comp/stis/
WFPC2  uref/  comp/wfpc2/
NICMOS  nref/  comp/nicmos/
WFC3  iref/  comp/wfc3/
COS  lref/  comp/cos/
non-HST  -  comp/nonhst/
OTA  -  comp/ota/
TMC/TMG  -  mtab/
Atlases  -  grid/

In the case of WFPC2 transfer both the GEIS and “waiver” FITS files to the centralized storage area. With some types of WFPC2 files, there is a second set of files to be used only on linux systems. This will be indicated in the delivery form sent by the WFPC2 team. The GEIS files (not the lod files) will need to be transferred to their own directory, /grp/hst/cdbs/uref_linux/.

In the case of SYNPHOT data files, this step should be done before creating the TMC file with the mkcomptab task, as the software looks in the above mentioned disk location for the files that appear as active in the CDBS database. If the files are not present in these disk locations, the task will fail. Currently, this task runs only in the Science Cluster.

In the case of SYNPHOT Atlases, FTP the files to their corresponding grid directory in the centralized storage area. This will make them accessible to all internal users working in the Science Cluster. In order for these atlases to be used by SYNPHOT outside the Science Cluster, users have to copy them to their corresponding /grid/ directories (where all the SYNPHOT Atlases and Libraries live) or wait for the next release where the files will be automatically delivered to them with the SYNPHOT package. Note that copying them to the /grp/hst/cdbs/grid/ directory in the centralized storage area makes these files available to the STSDAS Group for future STSDAS releases or for download from their web site. In any case, it is necessary to notify the STSDAS Group that these Atlases changed so they can package them in the appropriate tarball.

To transfer the files, SFTP or FTP to the centralized storage area. Use the srefpipe account name and password. Change the transfer mode to binary (if using FTP) and put in all the FITS files (GEIS and “waiver” FITS in the case of WFPC2), into the respective directory. For example,

mymac> sftp srefpipe@tib.stci.edu
Connecting to tib.stsci.edu...
Password:
sftp> cd /grp/hst/cdbs/jref/
sftp>mput *.fits

14. In the case of SYNPHOT files: Create the TMC table and deliver it with the TMG and TMT tables

In the case of SYNPHOT data files, once these have been delivered, it is necessary to re-create the TMC table using the CDBS script mkcomptab. In your testing directory or a subdirectory created just for the TMC, TMG and TMT tables, run:

mkcomptab new tmc.fits

This script will recreate the TMC table using the information located in the CDBS database. It will use the most up to date files to fill each of the COMPONENT rows in this file. However, if it encounters more than one file with the same USEAFTER date, it will list all of them in the TMC table. The order in which these files appear is important as SYNPHOT will use only the last row. Fortunately, the mkcomptab task lists these files in the correct order. More details about this script can be found in the CDBS Documentation web page (http://www.stsci.edu/instruments/observatory/cdbs/documents/).

Once the TMC file has been created, check that the changes in this file are for those SYNPHOT data files just delivered. For this, run the IDL procedure compare_table.pro. The script is located in the Science Cluster in the STScI IDL area (/data/garnet2/idl/stsci/) and in the smalls area (/store/smalls/srefpipe/useful_scripts/). Keep in mind that to run IDL in smalls, you must go into the .setenv file for smalls (srefpipe account) and comment out the correct line (indicated in the file), save the file, and open a new window that will then run IDL. To compare the old and new TMC tables type in IDL:

IDL> .compile /store/smalls/srefpipe/useful scripts/compare table.pro
IDL> compare table,'path1/new tmc.fits','path2/old tmc.fits',$
COLUMNS=['compname','filename'],SAVEFILE=1

The older TMC tables are located in /store/smalls/ref/mul, and the current version of the TMC table is the last one listed. The COLUMNS parameter indicates which set of columns to use for the comparison of each row of the file. When the SAVEFILE parameter is set equal to 1, it will direct the output of the procedure to a file called compare_table.out in the current directory. This script looks for missing elements in the table by checking differences in each row. If no unexpected differences are found, fill the HISTORY section of the FITS file documenting the reason for the file to be re-created.

If the TMG and/or TMT tables were received together with the SYNPHOT data files, copy these files to the directory where the TMC file was created and check that the header keywords are correctly populated. Also check that the changes in the file are as expected. For this, use the same IDL procedure compare_table.pro. For the TMT table the COLUMNS parameters are set identical to those used for the TMC table, while for the TMG table these should be

['compname','keyword','innode','outnode','thcompname']. We do expect the deliverer to

have done this test already; but we have to confirm the changes.

If no problems or unexpected differences are found, fitsverify and certify the TMG, TMT, and TMC files; as in steps 4 and 5. Create the “load” files as in step 6. Fill the fields CHANGE_LEVEL and PEDIGREE of the TMC “load” file value used by the throughput tables that were just delivered. That is, if the throughput tables had CHANGE_LEVEL = SEVERE use this value for the CHANGE_LEVEL of the TMC “load” file. For the TMG and TMT “load” files always use SEVERE. For these three files use OPUS_FLAG=Y. Run certify, check_load, and uniqname on the “load” files according to steps 8, 9 and 10. Before these files can be delivered, however, they must be tested against the SSB suite of regression tests. To accomplish this, the current procedure is to place the TMC, TMG and the latest TMT file in /grp/hst/cdbs/work/vicki/ for Vickie Laidler and e-mail her so that she knows where the files are and that they need to be tested. Only after receiving an e-mail from her confirming that the files are ready for delivery should the files be delivered as described in step 11. Then send a delivery form to DMS as in step 12, and finally transfer the files to centralized storage as in step 13.

15. Run cdbs report

After the CDBS delivery Pipeline completes all the stages succesfully, an e-mail acknowledging the completion of the delivery is sent back to the INS/CDBS member delivering the files. (A copy is sent to the cdbs@stsci.edu e-mail address.) This usually happens the same day the files were delivered. Note that in the case when the files were delivered late in the day, the acknowledgment of the ingest will arrive the next day. If the reply e-mail is not received within the expected time, investigate the reason for the delay. The OPUS team usually notifies us of the successful ingestion after the files have been properly transferred to the Archive, OPUS, and the mirror sites (ECF and CADC) disks. Although a problem in any of these steps can delay the notification, after the files have been ingested into the Archive and OPUS disk areas, the files will be used in the OTFR pipeline and will be available from retrieval. But before these files can be recommended as the best reference files for a given dataset, it is necessary to run another script that updates the archive database. The * ref data tables in the archive database are used to select the best reference files via the “Best Reference Files” option in the archive retrieval form. The script that updates these tables is run only once a day and therefore there is a period of time when the files used in OTFR are different than those selected by the “Best Reference Files” option. In any case, once OPUS has ingested the files, we can assume the files are in the system. The information on when the files were ingested into the Archive and OPUS system can be obtained running the

cdbs_report script:

cdbs report #####

where ##### is the delivery number. For example, running this script for delivery number 11160 shows all the information relevant to that delivery number:

CDBS Installation Report

—————————————

Instrument Reference  File Name  Useafter Date  Archive Date  OPUS Load Date

File Type

———— ————  —————  ————-  ————–  —————–
STIS  PHT  P441909NO PHT.FIT Mar 15 1999 12:00AM Apr 4 2005 8:32PM Apr 4 2005 8:32PM
STIS  PHT  P441909OO PHT.FIT Oct 1 1996 12:00AM Apr 4 2005 8:32PM Apr 4 2005 8:32PM
STIS  TDS  P441909PO TDS.FIT Oct 1 1996 12:00AM Apr 4 2005 8:32PM Apr 4 2005 8:32PM

Place a copy of this report in the delivery form saved in the directory

/calib/cdbs_directory/deliveryforms/ created in step 12.

16. Check the size of the files in the archive

We have found several cases where the tables that are ingested into the archive are corrupted. We believe that this happened when the files were ftped to the archive media. Since we are now delivering the files from the SunFire15K system, where the operational and archive domains reside, this problem is likely to have been solved; however, we should still perform this check to verify the integrity of the files that are being archived. This can be done by comparing the size of the archived reference files to that of the files we have in our delivery directory. This verification can be done in three different ways, all by performing a query to the archive files table in the database dadsops in the ZEPPO server.

The simplest way is by running the CSHELL script search_size_csh . This script was created to check the size of the files and is available in the special CDBS account only. It makes the appropriate calls to the database using the provided dataset name search string. To run this script type:

smalls> search size csh NNNNN

where NNNN should be the file name or file name prefix to search. Note it has to be entered as caps. If the file prefix is not provided, the script will request it. The output to this script is a file called size_out.txt which has the commands and output of the SQL database search.

If the script is not available, you have to perform each step manually. The first two steps would be to set the environment variable DSQUERY and load the dadsops database. For this, type:

mymac>setenv DSQUERY ZEPPO
mymac>isql
1>use dadsops
2>go

The column we want to search here is: afi data set name. The rows we want to examine are those that have values equal to the name of the reference file we just delivered. For example, if we just delivered reference files with names p441909so drk.fits and p441909to bia.fits, we can check the size of the files in the archive with the command:

1>select * from archive files where afi data set name like ``P441909%''
2>go

where “%” is a wild card. In this case, using the wild card will simplify the verification by showing us the size of all the reference files with prefix "P441909\%". Note that we are using uppercase for the file name. This is because the names of the reference files are stored as uppercase. The output of this command looks like this:

     afi data set name         afi archive class
afi generation date       afi mission afi file extension
afi file name
afi file type afi pre compress size afi post compress size
afi checksum   afi verify status    afi virtual
--------------------------------------- -----------------
-------------------------- ----------- --------------------
----------------------------------------------------------------------------------------------------
------------- --------------------- ----------------------
------------ ----------------- -----------
P441909NO            CTB
Apr 4 2005 8:06PM    HST     PHT
p441909no pht.fits
FITS        4518720.000000     2700547.000000
1336725531   NULL      N
P441909OO             CTB
Apr 4 2005 8:06PM   HST     PHT
p441909oo pht.fits
FITS        4518720.000000     2700418.000000
759764626   NULL      N

To simplify the output you could select the afi pre compress size column only. For this the command should be:

1>select afi data set name,afi pre compress size
2> from archive files where afi data set name like "P441909%"

2>go

The output will look like this:

     afi data set name     afi pre compress size
--------------------------------------- -------------
P441909NO     4518720.000000
P441909OO     4518720.000000

Another way to do this is by entering the SQL commands listed above in an ASCII file; for the example used here the file is called size_query.sql. Once the file has been created, run the following in the command:

smalls> isql -e -i size querry.sql -o size out.txt -S ZEPPO

the output will be directed to a file called size_out.txt.

In all cases, the last step is to compare the afi pre compress size column value with the size of the file you have in your delivery directory. If these values are not identical, it is likely that the file in the archive is corrupted and the OPUS team has to be informed of the problem.

17. Verify the correct usage of the reference files in the operational environment.

Another problem that we have seen in the past has to do with the way the new reference files were recommended. In a few cases, the files were not ingested properly and the old reference file was still being recommended for some datasets when it should not have been. Therefore, it was decided to verify that the reference files were used correctly by OPUS and properly recommended in the archive.

The simplest way to do this is by running the CSHELL script search_best_reffile. This script was created to facilitate verification about the usage of the reference files. Currently, it only supports ACS, WFPC2, and STIS reference files. This script sends the request to the DADSOPS database for the best reference files used after a given date. It returns the list of best reference files used for a particular instrument, detector, reference file type, and time of observation. Just like the script that checks the size of the reference files, this script can only be run in the special CDBS account.

This script can be run as follows:

smalls> search best reffile INSTRUMENT TYPE FILE USEAFTERDATE DETECTOR

where INSTRUMENT is the INSTRUMENT name for which the search is made. TYPE FILE is the type of reference file we want to use in the search; e.g. DRK, BIA, PHT, or drk, bia, pht. USEAFTERDATE is the date after which we want to verify the usage of the reference files. In this case, it should correspond to the earliest USEAFTER date of the reference file type we are delivering. The format for the USEAFTERDATE is as follows: Month Day Year Time. Finally, DETECTOR is the name of the detector for which this file applies. If there is no detector distinction for the reference files (e.g. WFPC2 DRK reference files), this parameter can be left blank.

For the moment, this script does not seem to work in an xterm or xgterm. You may need to open a basic terminal in order for the script to work. An example of using this script to find WPFC2 darks is:

smalls> search best reffile WFPC2 DRK Jan 21 2008 04:10:00

If the script is not available, you will have to perform each step manually.

This can be done by querying for the best reference files of any one kind in the dadsops database in the ZEPPO server. In order to do this, first we need to know the prefix of the field name, in the tables with reference file data, that is associated to the reference files. That is, the reference file records are located in tables named “### ref data”; where ### is the name of the instrument (e.g. acs ref data). Within these tables the reference files are listed in columns named after the calibration reference file name that appears in the header of the observation FITS files. For example, the “Pixel to pixel flat field” file for ACS data is assigned by the keyword PFLTFILE. The column in the acs ref data that contains this information is acr best pfltfile. Note the prefix used for the reference file column, these change from instrument to instrument but are the same for all the reference files of that instrument. Here is the list of prefixes :

ZEPPO database table ### ref data

Instrument  prefix
ACS  acr best ###
STIS  ssr best ###
WFPC2  w2r best ###
NICMOS nsr best ###

where ### is the reference file table identifier. In appendix A of this document the corresponding names for the current reference files for all the instruments are listed. The DSQUERY environment variable as well as the database should be set as in step 17. Once the table identifier is known, the verification can be done using the SQL command:

select distinct reference file column from instrument best ref table where prefix expstart field >= "USEAFTER date"

where for the above example reference file column is “acr best pfltfile” and instrument best ref table is “acs ref data” The field prefix expstart field is the table column name with the information of the useafter date. In the case of ACS , prefix expstart field should be replaced by “acr expstart”, while for STIS it is “ssr texpstrt” (see Appendix A). Finally, “USEAFTER date” is the useafter date reference file header keyword and after which the reference file has to be used; e.g., “MAR 05 2005 08:44:17”. Note that we are using uppercase letters. If uppercase does not work, use the same format as the file that was delivered. An example of the command to check the ACS darks recommended after the useafter date “Mar 05 2005 08:44:17” is:

1>select distinct acr best darkfile from acs ref data where acr expstart >= "MAR 05
2005 08:44:17"
2> go
acr best darkfile
------------------
NULL
P3V2228OJ DRK.FITS
P3V2228PJ DRK.FITS
P3V2228QJ DRK.FITS

This command should list only the reference files that are active. Those that have been superseded by the current delivery should not appear in the list. If any of the old reference files appears, contact Mike Swam so he can re-run the cron job that updates this table. If possible, look for some examples of data that have the erroneous reference file. For the latter you can use the StarView forms that list the best reference files; in those forms search for the old reference file in the corresponding field. Note also that in the above output there is a “NULL” value. When datasets are ingested in the archive, the best reference values are all set to “NULL”. This value is automatically changed later to the appropriate reference file value when the nightly cron job, that updates the best reference files table, runs.

18. Send notification

Forward the acknowledgment e-mail from OPUS mentioned in step 15 to the deliverer along with a copy of the CDBS installation report (cdbs report). This will serve as a confirmation that the files are in the system. Copy the “opus *” files created by sendit to the testing directory and compress the files.

19. Fill out delivery information on WIKI

Once the delivery is finished, the deliverer should report the completed delivery on the CDBS WIKI page. The main WIKI page for CDBS is located at http://www.stsci.edu/wiki/INS-CDBS/CDBSGroupNotes . From the main page, go to the link ’Status Reference File Deliveries’. On this page, you will find a table with the following headers; Date, Instrument, Delivery Number, Number of files delivered, Type of files delivered, and Name of Deliverer. Click on the edit button to add your current information. When the edit screen shows up, copy the format (html tags) of the previous line and insert your information into the html formatting. When you are done, you can Preview or Save the information.

This Wiki page will help all the members of the CDBS team keep informed as to how many and what types of deliveries are being made.

References

C. Cox, & C. Tullos TIR OSG-CAL-97-02 (updated 7/1/98) R. Diaz-Miller TIR CDBS 2005-02 Appendix A ACS Table A1: acs ref data table reference useful keywords

Column name comment
acr aperture Aperture Name
acr ccdamp  CCD Amplifier Readout Configuration
acr ccdchip  CCD chip
acr ccdgain  Commanded gain of CCD
acr crsplit  number of cosmic ray split exposures
acr detector Detector
acr expstart UT date of start of observation (MMM DD YYYY hh:mm:ss)
acr filter1  element selected from filter wheel 1
acr filter2  element selected from filter wheel 2
acr flashcur  Post flash current: OFF, LOW, MED, HIGH
acr fwoffset  computed filter wheel offset
acr fwerror  filter wheel position error flag: F or T
acr obstype  Observation type - imaging or spectroscopic
acr proposid PEP proposal identifier
acr shutrpos Shutter position: A or B
acr sclamp  lamp status, NONE or name of lamp which is on

Table A2: acs ref data table reference file identifier

Column name Reference file type Reference file extension
acr best biasfile BIAS IMAGE  BIA
acr best cfltfile CORONAGRAPHIC SPOT FLAT IMAGE  CFL
acr best darkfile DARK IMAGE  DRK
acr best dfltfile DELTA FLAT IMAGE  DFL
acr best dgeofile GEOMETRIC DELTA IMAGE (DISTORTION)  DXY
acr best flshfile POST FLASH IMAGE  FLS
acr best lfltfile LOW ORDER FLAT IMAGE LFL
acr best pfltfile PIXEL TO PIXEL FLAT FIELD IMAGE  PFL
acr best shadfile SHUTTER SHADING IMAGE  SHD
acr best atodtab ANALOG-TO-DIGITAL TABLE  A2D
acr best bpixtab BAD PIXEL TABLE  BPX
acr best ccdtab CCD PARAMETERS TABLE  CCD

Table A2: acs ref data table reference file identifier (cont)

Column name Reference file type Reference file extension
acr best comptab THE HST MASTER COMPONENT TABLE  TMC
acr best crrejtab COSMIC RAY REJECTION PARAMETER TABLE  CRR
acr best graphtab THE HST GRAPH TABLE  TMG
acr best idctab IMAGE DISTORTION COEFFICIENTS TABLE IDC
acr best mdriztab MULTIDRIZZLE PARAMETER TABLE  MDZ
acr best mlintab MAMA LINEARITY TABLE  LIN
acr best oscntab CCD OVERSCAN REGION TABLE  OSC
acr best phottab PHOTOMETRY and THROUGHPUT TABLE  PHT
acr best spottab SPOT POSITION TABLE  CSP

STIS Table A3: stis ref data table reference useful keywords

Column name comment
ssr aperture Aperture name
ssr binaxis1  axis1 data bin size in unbinned detector pixels
ssr binaxis2  axis2 data bin size in unbinned detector pixels
ssr ccdamp  CCD Amplifier
ssr ccdgain  CCD commanded Gain
ssr ccdoffst  Commanded bias offset of CCD
ssr cenwave  Central wavelength in Angstroms
ssr crsplit  Number of CR split exposures
ssr detector  Detector
ssr lampset  spectral cal lamp current value (milliamps)
ssr obstype  Observation Type (Imaging or Spectroscopic)
ssr opt elem Optical Element used for observation
ssr texpstrt  UT time of the start of exposure (MMM DD YYY hh:mm:ss)
ssr wavecal  wavecal image file name

Table A4: stis ref data table reference file identifier

Column name  Reference file type  Reference file extension
ssr best biasfile Bias image file  BIA
ssr best darkfile Dark image file  DRK
ssr best pfltfile  Pixel-to-pixel flat file  PFL
ssr best dfltfile  Delta flat image file  DFL
ssr best lfltfile  Low-order flat image file  LFL
ssr best shadfile Shutter shading correction image file  SSC
ssr best sdstfile Small scale distortion image file  SSD
ssr best atodtab A2D Correction Table  A2D
ssr best apdstab Aperture Description Table  APD
ssr best apertab Aperture Throughput Table  APT
ssr best bpixtab Bad Pixel Table  BPX
ssr best ccdtab CCD Parameters Table CCD
ssr best crrejtab Cosmic Ray Rejection Parameters Table  CRR
ssr best disptab Dispersion Coefficients Table  DSP
ssr best inangtab Incidence Angle Correction Table  IAC
ssr best idctab Image Distortion Correction Table IDC
ssr best mlintab MAMA Linearity Table  LIN
ssr best lamptab Calibration Lamp Table  LMP
ssr best mofftab MAMA Offset Correction Table  MOC
ssr best pctab Photometric Correction Table PCT
ssr best phottab Photometric Conversion Table  PHOT
ssr best sdctab  2-D Spectrum Distortion Correction  SDC
ssr best cdstab  Cross-Disperser Scattering Table  CDS
ssr best echsctab Echelle Scattering Table  ECH
ssr best ecstab Echelle Cross-Dispersion Scattering Table EXS
ssr best halotab Detectore Halo table  HAL
ssr best riptab Echelle Ripple Table RIP
ssr best srwtab Scattering reference Wavelenght Table  SRW
ssr best psftab  Telescope Point Spread Function Table  TEL
ssr best tdctab  NUV Dark Correction Table  TDC

Table A4: stis ref data table reference file identifier (cont)

Column name  Reference file type  Reference file extension
ssr best tdstab  Time Dependent Sensitivity Table  TDS
ssr best wcptab Wavecal Parameters Table  WCP
ssr best sptrctab 1-D Spectrum Trace Table  1DT
ssr best xtractab 1-D Extraction Parameters Table  1DX

WFPC2 Table A5: wfpc2 ref data table reference file identifier

Column name Reference file type Reference file extension

(type)

w2r best atodfile Analog to Digital Converter Lookup Table  R1?
w2r best biasfile Bias Frame R2?
w2r best darkfile Dark Frame  R3?
w2r best flatfile Flat Field File R4?
w2r best maskfile Static Mask File  R0?
w2r best shadfile Shutter Shading Correction  R5?
w2r best comptab Master Component Table  TMC.FITS
w2r best graphtab The Master Graph Table (Synphot)  TMG.FITS
w2r best idctab  Image Distortion Coefficients File  IDC.FITS
w2r best offtab  not used  -

Table A6: wfpc2 ref data table reference useful keywords

Column name  comment  type
w2r obset id  observation set id  -
w2r obsnumA  observation number  base 36
w2r atodgain  A-D Gain  electrons
w2r equinox  equinox of celestial coord. system  -
w2r expstart  Exposure start time  Modified Julian Date
w2r filter1  First filter Numberf  -
w2r filter2  Second filter Number  -
w2r filtnam1  First filter Name  -
w2r filtnam2  Secondfilter Name  -
w2r mode  instrument mode  FULL (full res.), AREA (area int.)
w2r orientat 1,2,3,4 Orientation of the image 1, 3, or 4  posangle
w2r serials  serial clocks  ON, OFF
w2r shutter  Shutter in place at beginning of the exposure  -
w2r atodcorr  A-D correction applied  PERFORM, OMIT,COMPLETE
w2r biascorr  Bias correction applied  PERFORM, OMIT,COMPLETE
w2r blevcorr  Bias level correction applied  PERFORM, OMIT,COMPLETE
w2r darkcorr  Dark correction applied  PERFORM, OMIT,COMPLETE
w2r dophotom  Fill Photometry keywords  PERFORM, OMIT,COMPLETE
w2r flatcorr  Flat correction applied  PERFORM, OMIT,COMPLETE
w2r maskcorr  Mask correction applied  PERFORM, OMIT,COMPLETE
w2r shadcorr  Shaded Shutter correction applied  PERFORM, OMIT,COMPLETE

NICMOS Table A7: nicmos ref data table reference file identifier

Column name Reference file type Reference file extension

(type)

nsr best darkfile Dark Current File  DRK
nsr best flatfile Flat Field  FLT
nsr best illmfile Illumniation Patern File  ILM
nsr best maskfile On-Orbit MASK for NCS data
nsr best nlinfile Deterctor Linearity File  LIN
nsr best noisfile Detector Read-Noise File  NOI
nsr best saadfile Post SAA Dark  Assoc. Name
nsr best tempfile temperature-dependent dark reference file  TDD
nsr best backtab Background Model Table  -
nsr best phottab Phototmetric Calibration Talbe  PHT
nsr best idctab Image Distortion Coefficents File  IDC

Table A8: nicmos ref data table reference useful keywords

Column name comment  type
nsr obset id  Observation Set ID  -
nsr camera  Camera in use  1, 2, or 3
nsr expstart Exposure Start Timei  MJD
nsr filter  Filter Wheel Element  varchar
nsr nread  Number of Initial and Final Readouts  small int
nsr readout  Detector readout rate  FAST, SLOW
nsr samp seq Number of Samples  int