SUBROUTINE VWRMPT ( * * inputs * : OFILE, ITP, ICOLID, INCOLS, * * outputs * : OTP, OCOLID, ONROWS, STATUS) * * Module Number: 15.2.3.2 * * Module Name: warmup * * Keyphrase: * ---------- * set up the output table for VWARM * * Description: * ------------ * * FORTRAN name: VWRMPT.FOR * * Keywords of accessed files and tables: * -------------------------------------- * Name I/O Description / Comments * * output table column names: * * (count_key) I count rate * (counterr_key) I count rate's standard deviation * (temp_key) I the temperature * 'ELAPSE_TIME' I elapse time since last high voltage turn-on * 'EPOCH' I observation epoch * 'VOLTAGE' I high voltage setting * 'APERTOBJ' I aperture name * * Subroutines Called: * ------------------- * CDBS: * CDTOUT * SDAS: * UTCINF, UMSPUT * Others: * None * * History: * -------- * Version Date Author Description * 1 06-25-87 J.-C. HSU design and coding * 2 11-20-87 J.-C. HSU F77 SDAS *------------------------------------------------------------------------------- * *== input: * --VMS file name of 'OUTTABLE' CHARACTER*(*) OFILE * --pointer to input table descripter INTEGER ITP, * --input table column identifiers : ICOLID(1), * --number of columns of input table : INCOLS * *== output: * --pointer to table descripter INTEGER OTP, * --column identifiers : OCOLID(1), * --number of existed rows of output * --SDAS table : ONROWS, * --error status : STATUS * *== local: * --loop index INTEGER I, * --data type : DTYPE(20), * --error status : STATOK * --column format CHARACTER*8 COLFMT(20) * --column names and units CHARACTER*16 ICNAME(20), OCNAME(20), UNIT(20) * --error message context CHARACTER*130 CONTXT, MESS *==========================begin iraf77.inc (without INTEGER*2)================= * Include file for the iraf77 FORTRAN interface to the IRAF VOS * Get IRAF common into main program * LOGICAL MEMB(1) INTEGER MEMI(1) INTEGER MEML(1) REAL MEMR(1) DOUBLE PRECISION MEMD(1) COMPLEX MEMX(1) EQUIVALENCE (MEMB, MEMI, MEML, MEMR, MEMD, MEMX) COMMON /MEM/ MEMD * * File I/O access modes * INTEGER RDONLY PARAMETER (RDONLY = 1) INTEGER RDWRIT PARAMETER (RDWRIT = 2) INTEGER WRONLY PARAMETER (WRONLY = 3) INTEGER APPEND PARAMETER (APPEND = 4) INTEGER NEWFIL PARAMETER (NEWFIL = 5) INTEGER TMPFIL PARAMETER (TMPFIL = 6) INTEGER NEWCPY PARAMETER (NEWCPY = 7) INTEGER NEWIMG PARAMETER (NEWIMG = 5) * * codes for data types * INTEGER TYBOOL PARAMETER (TYBOOL = 1) INTEGER TYCHAR PARAMETER (TYCHAR = 2) INTEGER TYSHOR PARAMETER (TYSHOR = 3) INTEGER TYINT PARAMETER (TYINT = 4) INTEGER TYLONG PARAMETER (TYLONG = 5) INTEGER TYREAL PARAMETER (TYREAL = 6) INTEGER TYDOUB PARAMETER (TYDOUB = 7) INTEGER TYCPLX PARAMETER (TYCPLX = 8) INTEGER TYUSHT PARAMETER (TYUSHT = 11) INTEGER TYUBYT PARAMETER (TYUBYT = 12) * * TYTEXT is a special code for the iraf77 interface; it is not in the VOS * INTEGER TYTEXT PARAMETER (TYTEXT = 13) *========================end iraf77.inc========================================= *=========================begin hsp.inc========================================= * --status return code INTEGER OK, ERRNUM(20) * --message destination and priority INTEGER DEST, PRIO DATA OK /0/ DATA ERRNUM /701, 702, 703, 704, 705, 706, 707, 708, 709, 710, : 711, 712, 713, 714, 715, 716, 717, 718, 719, 720/ DATA DEST, PRIO /1, 0/ *=========================end hsp.inc=========================================== *------------------------------------------------------------------------------ * * get column information of the INPUT table * DO 10 I = 1, INCOLS CALL UTCINF (ITP, ICOLID(I), ICNAME(I), UNIT(I), : COLFMT(I), DTYPE(I), STATUS) IF (STATUS .NE. OK) THEN CONTXT = 'cannot get information of a column of input ' : // 'table' GO TO 999 END IF * OCNAME(I) = ICNAME(I) 10 CONTINUE * * change the column of high voltage turn-on time to elapse * OCNAME(4) = 'ELAPSE_TIME' DTYPE(4) = TYDOUB UNIT(4) = 'SECOND' COLFMT(4) = ' ' * * set up the output table * CALL CDTOUT (OFILE, OCNAME, UNIT, COLFMT, DTYPE, INCOLS, OTP, : OCOLID, ONROWS, STATUS) IF (STATUS .NE. OK) THEN CONTXT = 'cannot set up output table' GO TO 999 END IF * STATUS = OK GO TO 1000 * * write error message * 999 MESS = 'VWRMPT: ' // CONTXT CALL UMSPUT (MESS, DEST, PRIO, STATOK) * 1000 RETURN END