Updating the CUS database for IMT at Astrium



Usually updates for the CUS database are received via email form where they have to be extracted to single files. The rest of this procedure descriptions assumes following file extensions.

All commands below assume that you are logged using the pacs account on host hos4-d and that the psetup configuration has been executed.

ssh -X pacs@hos4-d

All CUS patches are collected in the /home/pacs/cus directory tree.

Updating CUS procedures and tables

Go to the /home/pacs/cus directory and create a cus patch directory for today in the format patches_YYYYMMDD. When there is more than one patches append A,B ... to the date to distinguish them. Copy all new CUS procedures and uplink tables to this directory.

cd ~/cus
mkdir patches_YYYYMMDD
cd patches_YYYYMMDD
cp fromeSomewhere .

Assuming that all CUS procedures file names and only those end with .txt following command is ingesting them to the database.

cus -f -m "XXXth update for EQM IMT" -import *.txt 

Replace XXXth with the current ordinal number for this CUS update.

The same command is used to update the readonly database as well. Don't miss the parenthesis around the command otherwise your terminal session will be permamently configured to use this readonly database.

( readonlyCUS; cus -f -m "xxxth update for EQM IMT" -import *.txt ) 

Similar commands are used to ingest the uplink calibration tables.

cus -f -m "XXXth update for EQM IMT" -uploadcal tableFileName
( readonlyCUS; cus -f -m "XXXth update for EQM IMT" -uploadcal tableFileName )

<!> {X}
As updates to the CUS procedures can change to number and order of the telecommand sequence of an observation mode the procedure step "Recreating TCL template scripts and comparing with a previous release" must be executed even if there are no updates in the parameters for the TCL template scripts.
<!> {X}

Updating TCL template script requests

Create a patch directory named CCS_template_scripts_update_YYYYMMDD. Go to this directory.

mkdir ~/cus/CCS_template_scripts_update_YYYYMMDD
cd ~/cus/CCS_template_scripts_update_YYYYMMDD

The way how to upgrade your TCL templates depends on the input from the operations group:

voice or email describing changes to the requested observation parameters

Copy the createTemplates file from the last patch directory. Edit this file with your fauvorite editor.

cp ~/cus/CCS_template_scripts_update_LastPatchDate/createTemplates .
xemacs createTemplates

The file consists of single records holding ccshandler commands to create the template TCL scripts.

Command options:

Please note that the "obsMode" must be followed by a "paramList". If there are no observation parameters specify an empty list by setting a single semicolon.

nice CSV files describing templates requests

CSV files can be converted to createTemplates format by using the script /home/pacs/cus/create_CCS_template_requests. The resulting records must be merged into old createTemplates file.

A typical session with two CSV input files will look like

( echo ; cat 20051020A.csv ) | ../create_CCS_template_requests - | sort > a.tmp
( echo ; cat 20051020B.csv ) | ../create_CCS_template_requests - | sort > b.tmp
cat b.tmp a.tmp createTemplates | sort -u -k 3,3 -k 4,4 > c.tmp
sdiff -s -w5000 c.tmp createTemplates
mv c.tmp createTemplates
chmod a+x createTemplates
rm {a,b}.tmp

Recreating TCL template scripts and comparing with a previous release

Create a patch directory named CCS_template_scripts_update_YYYYMMDD if not created already in the previous section. Go to this directory.

mkdir ~/cus/CCS_template_scripts_update_YYYYMMDD
cd ~/cus/CCS_template_scripts_update_YYYYMMDD

Either use the createTemplates created in the previous section or copy the one from the last patch directory.

# BUT only if NO createTemplates files is created in the previous section
cp ~/cus/CCS_template_scripts_update_LastPatchDate/createTemplates .

Create all TCL template files by executing the createTemplates script. This will last some minutes.


A first check for errors is the detection of empty TCL files.

find . -size 0

To compare these TCL template files with those generated by the previous patch

cd ..
./compareTCLtemplates.sh CURRENT_PATCH_DIR PREVIOUS_PATCH_DIR | grep -v identical

When there are files list as being different or missing then execute the following procedure step to transfer the TCL template scripts to the HPCSS.

Transferring TCL template scripts to the HPCSS

First print out the list of different of missing TCL template scripts.

./compareTCLtemplates.sh CURRENT_PATCH_DIR PREVIOUS_PATCH_DIR | grep -v identical | a2ps -1 -P printer

Put the special USB stick from Stijn into an USB port of the host hos4-d. Copy all TCL template scripts to an directory on the USB stick. Don't forget to umount the USB stick.

mkdir /media/usb-storage-0904B2110E0009E5:0:0:0p1/PACS_TCL_UPDATE/
cp -v *tcl /media/usb-storage-0904B2110E0009E5:0:0:0p1/PACS_TCL_UPDATE/
su -c "/bin/umount /media/usb-storage-0904B2110E0009E5:0:0:0p1/"

Herschel: PACS/EQM_IMT_Procedures/CusUpdate_IMTatAstrium (last edited 2009-07-15 14:32:38 by localhost)