;+
; Project     : SOLAR-B - EIS
;
; Name        : EIS_CPT_VERSION
;
; Purpose     : Returns string containing version information.
;
; Explanation : Version is based on date of delivery to RAL and version number.
;
; Use         : < version = eis_cpt_version() >
;
; Inputs      : None.
;
; Opt. Inputs : None.
;
; Outputs     : version : STRING version information.
;
; Opt. Outputs: None.
;
; Keywords    : NOCOMMA : FLAG indicating no comma in output
;
; Calls       : None.
;
; Common      : None.
;
; Restrictions: None.
;
; Side effects: None.
;
; Category    : EIS_CPT.
;
; Prev. Hist. : None.
;
; Written     : Martin Carter RAL 12/07/06
;
; Modified    : Version 1.0, 12/07/06, MKC
;                 eis cpt version                       : Added.
;                 eis cpt command store process         : Prepended 'EIS_' to sequence names in ORL file.
;                 eis cpt obstbl map write              : Used eis cpt obstbl map text for header.
;                                                         Added keywords to eis cpt obstbl map text.
;                                                         Added tags to obstbl_map.
;                 eis cpt obstbl map text               : Changed MAP file format.
;                                                         Included follow on sequence and start of study flag.
;                                                         Added link, first and last keywords.
;                 eis cpt obstbl map read               : Changed MAP file format.
;                 eis cpt obstbl map entry  define      : Added link, first and last tags.
;                 eis cpt preliminaries                 : Moved time period check and time period argument argument.
;                 eis cpt                               : Moved check on time period into routine.
;                 eis cpt check time period             : Added further arguments and checks.
;                 eis cpt obstbl set                    : Changed so that always writes sequence table even if exact match.
;                 eis cpt sequence place                : Writes sequence table even if exact match.
;                 eis cpt obstbl                        : Updated OBSTL_MAP link info.
;                                                         Added FIRST and LAST keywords.
;                                                       : Added TERMINATE keyword.
;                 eis cpt sequence link                 : Changed check on no. of linked sequences to = 1
;                 eis cpt sequence  define              : Added first tag.
;                 eis cpt process science sequences     : Added first sequence in study flag.
;                 eis cpt process engineering sequences : Added first sequence in study flag.
;                 eis cpt obstbl map parse              : Set up first, last and used tags.
;                 eis cpt sequence resolve links        : Resolve links even if exact match.
;                                                         Added terminate, first and last tags.
;               Version 1.1, 15/08/06, MKC
;                 eis cpt environment wrapper           : Changed all directories to lower case only.
;               Version 1.2, 20/08/06, MKC
;                 eis cpt obstbl get                    : Fixed bug where if reset=1 used and OBSTBL read fails then OBSTBL not initialized to 'FF's.
;                                                         If no OBSTBL now insists start with reset=2.
;                 eis cpt obstbl refresh                : Changed '  999, dd' to ' ddd, dd' format for sub ID.
;                                                         Used previous to calculate next version for OBSTBL.
;                                                         Set up version and RAM sub id in upload structure.
;                                                         If upload not defined then sets up default.
;                 eis upload define                     : Added upload version to structure.
;                 eis upload default                    : Added version to arguments and structure.
;                 eis cpt structure defaults            : Added version to eis upload defaults arguments.
;                 eis cpt check upload                  : Removed RAM sub ID check.
;                                                         Removed upload pass argument.
;                 eis cpt process                       : Changed arguments for EIS OBSTBL LOAD command.
;                 eis cpt command store process         : Changed LOAD command parameters.
;                 eis cpt test                          : Changed arguments of eis cpt upload default.
;                 eis cpt                               : Changed logic so that only require upload to be defined if Jside output required.
;                                                         Moved calculation of upload pass string.
;                                                         Changed arguments of eis complete and eis cpt check upload.
;                                                         Took internal copy of upload.
;                 eis cpt complete                      : Changed arguments.
;                 eis cpt obstbl                        : Changed error message.
;               Version 1.3, 08/09/06, MKC
;                 eis cpt test                          : Added NRASTERS to 8.4 and renamed to 8.4a.
;                                                         Added test 8.4b.
;                                                         Added tests 3.10, 3.11 and 3.12.
;                                                         Added test 4.11.
;                                                         Added 4th engineering study to 6.1.
;                                                         Changed pass ID in upload to 4 characters.
;                 eis cpt sequence link                 : Rearranged logic.
;                                                         Corrected bug with daisy-chained studies spanning
;                                                         more than one sequence table.
;                 eis cpt daisy chain                   : Fixed bug with single looped study if COMPLETE used.
;                                                         Added check.
;                                                         Fixed bug with end time calculation.         :
;                                                         Implemented response studies not in studies list.
;                 eis cpt check studies list            : Moved check of slit/slot changes.
;                 eis cpt process timeline              : Add check of slit slot changes.
;                                                         Include changes between studies and study repeats.
;                 eis cpt read intel hex file           : Added error message.
;                 eis cpt parse intel hex file          : Changed so that NOENDOFFILE flag allows no end of file but does not insist on it.
;                 eis cpt data rate                     : Added printout.
;                 eis cpt command store output          : Added printout.
;                 eis cpt obstbl output                 : Added printout.
;                 eis cpt command store process         : Removed Select AUTO command from LOAD_OBSTBL command sequence.
;                                                         Added ';' to ENTRY command.
;                                                         Removed 'C.' from command description.
;                                                         Added DUMP OBSTBL command.
;                 eis cpt list contact periods          : Changed pass IDs to 4 character values.
;                 eis cpt check upload                  : Changed check on pass ID.
;                 eis cpt data rate item output         : Changed pass ID to 4 characters.
;                 eis cpt get engineering detail        : Renamed to eis cpt get engineering detail.
;                                                         Allowed non-standard names.
;               Version 1.4, 23/09/06, MKC
;
;                Added estimate of time for OBSTBL upload and used this as a measure of differences for
;                placing sequence tables :

;                 eis cpt get engineering detail default: Renamed eis get engineering detail.
;                 eis cpt table search                  : Changed measure of table differences to number of commands needed
;                                                         to upload.
;                 eis cpt table difference              : Changed difference measure from simple count of no of byte differences.
;                 eis cpt obstbl                        : Keep copy of previous obstbl in common block.
;                                                         Added keyword DIFFERENCE.
;                 eis cpt data rate                     : Added engineering parameters argument.
;                                                         Added OBSTBL upload time output.
;                 eis cpt process                       : Added engineering parameters to eis cpt data rate arguments.
;
;                Used new scheme in ORL file commands in which a time interval is inserted after the manual mode
;                command :
;
;                 eis cpt command store add             : Changed set up of new command parameter.
;                                                         Fixed bug with real sequences taking up og numbers.
;                                                         Fixed bug with duplicate onboard and real studies.
;                 eis cpt command store process         : Changed ORL sequence name.
;                                                         Removed type from argument list.
;                                                         Process SEQEXEC, REAL, OP and OG in parallel.
;                                                         Used eis cpt jside process.
;                 eis cpt engineering parameters default: Added OBSTBL memory command time tag.
;                                                         Added ORL_manual_command_delay tag.
;                 eis engineering parameters define     : Added OBSTBL memory command time tag.
;                 eis cpt test                          : Added LIST keyword.
;                                                         Added extra study to 3.9.
;                                                         Changed test 2.6.
;                                                         Added 2.4b, 2.4c, 2.4d, 2.4e, 2.4f.
;                                                         Added /MSSL to 8.8a.
;                 eis cpt command store output          : Combined processing of SEQEXEC, REAL, OP and OG commands.
;                 eis cpt jside sequence                : Rearranged processing.
;                                                         Added MANUAL keyword.
;                 eis cpt jside commands                : Adapted from eis cpt command store process.
;                 eis cpt jside process                 : Adapted from eis cpt command store process.
;
;                 eis cpt list real detail default      : Added filename argument.
;                 eis cpt list real command sequences   : Used all files in REAL directory.
;                 eis cpt list bakeout periods          : Added alternatives.
;                 eis cpt list coarse mirror commands   : Added alternatives.
;                 eis cpt process bakeout periods       : Changed so that all commanding may be performed from GSE.
;
;                Add MSSL output directory printout :
;
;                 eis cpt process studies               : Removed unnecessary ASCII file printout with /ALL.
;                 eis cpt obstbl                        : Removed keyword ALL.
;                 eis cpt obstbl ascii                  : Removed ALL keyword.
;
;                Change upload structure :
;
;                 eis upload define                     : Changed upload structure.
;                 eis cpt upload default                : Changed upload structure.
;                 eis cpt structure defaults            : Changed upload structure.
;                 eis cpt complete                      : Changed upload structure.
;                                                         Changed arguments.
;                                                         Changed TIMESTAMP keyword to STAMP.
;                 eis cpt                               : Changed eis cpt complete arguments.
;                 eis cpt obstbl                        : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt obstbl output                 : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt obtsbl map write              : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt file name                     : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt data rate                     : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt command store                 : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt command store output          : Changed TIMESTAMP keyword to STAMP.
;                 eis cpt check upload                  : Changed upload structure.
;                 eis cpt test                          : Changed upload structure.
;
;                Changed name of internal OBSTBL files :
;
;                 eis cpt complete                      : Changed names of internal obstbl files.
;                 eis cpt obstbl get                    : Changed names of internal obstbl files.
;                 eis cpt obstbl map read               : Changed names of internal obstbl files.
;
;                Change to new contact periods structure :
;
;                 eis contact period define             : Deprecated.
;                 eis cpt contact period default        : Deprecated.
;                 eis cpt list contact periods          : Deprecated.
;                 eis cpt contacts default              : New routine setting up default contacts structure.
;                 eis cpt test parameters               : Replaced eis cpt list contact periods with eis cpt contacts default.
;                 eis cpt                               : Changed contact periods structure.
;                                                         Changed CONTACTS keyword to CONTACT_INFO.
;                 eis cpt test                          : Changed CONTACTS keyword to CONTACT_INFO.
;                 eis cpt check upload                  : Changed contact periods structure.
;                 eis cpt process                       : Changed contact periods structure.
;                 eis cpt data rate                     : Changed contact periods structure.
;                 eis cpt data rate process             : Changed contact periods structure.
;                 eis cpt datarate output               : Changed contact periods structure.
;                                                         Changed printout to Mbits.
;                                                         Used routine eis cpt datavol item output.
;                 eis cpt datarate item output          : New routine.
;                 eis cpt structures                    : Removed eis contact period structure.
;                 eis cpt structure defaults            : Removed eis contact period structure.
;                 eis cpt timeformat                    : Added HHMMSS keyword.
;                 eis cpt extract period                : Changed output to Mbits.
;                 eis cpt timeline output               : Changed output to Mbits.
;                 eis cpt timeline item output          : Changed output to Mbits.
;                 eis cpt datavol item output           : Changed item structure.
;                                                         Removed AFTER, NOCONTACT, NOPLAN, PERIOD keywords.
;                                                         Renamed from eis cpt datarate item output.
;
;                Changed RAM sub ID and version scheme (again) :
;
;                 eis cpt obtsbl refresh                : Changed RAM sub ID to a 3 character field in OBSTBL mirroring the version.
;                                                         Changed version and RAM sub ID scheme.
;                 eis cpt jside commands                : Changed RAM sub ID to a 3 character field in OBSTBL mirroring the version.
;
;                Added Abort events :
;
;                 eis abort define                      : New routine.
;                 eis cpt abort default                 : New routine.
;                 eis cpt list aborts                   : New routine.
;                 eis cpt test define                   : Added abort tag.
;                 eis cpt structures                    : Added abort structure.
;                 eis cpt structure defaults            : Added abort structure.
;                 eis cpt test parameters               : Added aborts.
;                 eis cpt test                          : Added aborts.
;                                                         Added ABORT to 2.4a and 2.4g.
;                                                         Added some more studies to 10.2.
;                 eis cpt test sysv                     : Added ABORT keyword.
;                 eis cpt                               : Added ABORTS keyword.
;                 eis cpt check time period             : Added abort_times argument.
;                 eis cpt process                       : Added abort_times argument.
;                 eis cpt process abort times           : New routine.
;                 eis cpt command store define          : Added additional string parameter.
;                 eis cpt command store                 : Added additional string parameter.
;                 eis cpt command store add             : Added additional string parameter.
;                 eis cpt process                       : Added string argument to eis cpt command store.
;                 eis cpt process real command sequences: Added string argument to eis cpt command store.
;                 eis cpt jside commands                : Added string argument to eis cpt command store.
;                                                         Used in LOAD and FILE commands.
;
;                More testing :
;
;                 eis cpt test                          : Added 12.1.
;
;                Added multiple linelists to engineering studies :
;
;                 eis engineering detail define         : Added multiple linelist filenames.
;                                                         Added linelist indexes.
;                 eis cpt engineering detail default    : Added multiple linelist filenames.
;                                                         Added indexes argument.
;                 eis cpt get engineering detail        : Added multiple linelist filenames.
;                                                         Added linelist indexes.
;                                                         Added indexes keyword.
;                 eis cpt structure defaults            : Added indexes argument to eis cpt engineering detail default.
;                 eis get study                         : Added multiple linelist filenames.
;                                                         Added indexes argument to eis cpt engineering detail default.
;                                                         Added new engineering file.
;                 eis cpt check studies list            : Checked response study is not an engineering study.
;                 eis cpt process linelists for study   : Added multiple linelist filenames for engineering studies.
;                 eis cpt check study                   : Added check on linelist details for engineering study.
;                 eis cpt process engineering studies   : Added multiple linelists for engineering studies.
;                 eis cpt parse intel hex file          : Prevented start address being passed into routine.
;                 eis cpt test                          : Added extra study to 6.1.
;
;               Version 1.5, 02/11/06, MKC
;
;                Changed so that INTERVAL command within OP sequence rather than SEQEXEC sequence.
;
;                 eis cpt jside commands                : Changed so that only set manual mode for onboard commands else write command explcitly.
;                 eis cpt jside sequence                : Changed so that INTERVAL inserted in OP rather than SEQEXEC part of ORL file.
;                                                         Added ':' following INTERVAL command.
;                 eis cpt command store process         : Changed so that manual only set for OP commands.
;                 eis cpt jside process                 : Changed so that INTERVAL command inserted into OP rather than SEQEXEC part of ORL file.
;
;                Change to new contact periods structure :
;
;                 eis cpt contacts default              : Removed time average tags.
;                 eis cpt datarate output               : Removed data rate outputs.
;                 eis cpt datarate item output          : Deprecated.
;
;               Version 1.6, 08/12/06, MKC
;
;                Changed some ORL file output :
;
;                 eis cpt jside commands                : Renamed LOAD_OBSTBL to EIS_LOAD_OBSTBL.
;
;                Removed some eis cpt checking :
;
;                 eis cpt check raster                  : Removed check on compression parameter range.
;                                                         The parameters take spceific hex values rather than 0-7 as previously assumed.
;                                                         See MDP ICU interface document : NAO/SLB-EIS/SP/MDP3.4
;                 eis cpt check study                   : Removed check on number of slit/slot changes.
;                 eis cpt upload time                   : Calculates time for upload of OBSTBL.
;                 eis cpt data rate                     : Changed TIMESTAMP keyword to STAMP.
;                                                         Changed contact periods structure.
;                                                         Used eis cpt upload time.
;               Version 1.7, 10/01/07, MKC
;
;                Changed IDL setup :
;
;                 eis cpt test environment              : Changed value of environment variable.
;
;                Corrections:
;
;                 eis cpt check study                   : Corrected check on number of slit/slot changes.
;                                                         Used eis cpt changes.
;                 eis cpt changes                       : Calculates no. of changes in array.
;                 eis multiple sequence tables          : Used eis cpt changes (fixed bug).
;
;                Change to prevent default studies turning on slit/slot mechanism during SAAs :
;
;                 eis mechanism change                  : Added disallowed tag.
;                 eis cpt mechanism change default      : Added disallowed tag.
;                 eis cpt check study                   : Added checks for disallowed tag.
;                 eis cpt process science sequences     : Added disallowed slit/slot movement.
;                 eis cpt process engineering sequences : Added disallowed slit/slotmovement.
;                 eis cpt process studies               : Added disallowed tag in check for reusable studies.
;                 eis cpt find study                    : Added disallowed tag in check for reusable studies.
;                 eis cpt sequence define               : Added disallowed tag.
;                 eis cpt jside commands                : Added EIS_SET_SLITn commands to OP/OG store if slit/slot disallowed.
;                 eis cpt raster detail default         : Added SLITSLOT keyword.
;                 eis get study                         : Added slitslot control.
;                 eis cpt test define                   : Added slitslots tag.
;                                                         Added disallowed tag.
;                 eis cpt test sysv                     : Added SLITSLOTS keyword.
;                                                         Added DISALLOWED keyword.
;                 eis cpt test                          : Moved test 12 to 20.
;                                                         Added tests 12.
;                 eis cpt study detail estimates        : Added disallowed slit/slot movement.
;                 eis cpt list study details            : Added disallowed slit/slot movement.
;
;                Change method used to put in MANUAL OG :
;
;                 eis cpt command store process         : Removed code for adding MANUAL command to command store.
;                                                         Just add to OG text at fixed location.
;                 eis cpt command store add             : Reserved OG 450 for MANUAL command so that only 49 slots remaining.
;                 eis cpt jside sequence                : Reserved OG 450 for MANUAL command so that only 49 slots remaining.
;                                                         Changed name of MANUAL OP sequence to FIXED.
;                 eis cpt jside process                 : Removed fix for MANUAL command description.
;                 eis cpt jside commands                : Added FIXED command.
;
;                Added delays between exposures in exposure loop :
;
;                 eis raster detail define              : Added exposure delays tag.
;                                                         Removed number of exposures per raster position tag.
;                 eis cpt raster detail default         : Added exposure delays tag and keyword.
;                                                         Removed number of exposures per raster position tag.
;                 eis cpt hex raster                    : Added exposure delays.
;                                                         Removed number of exposures per raster position tag from raster detail.
;                                                         Moved slit/slot movement out of routine.
;                                                         Moved raster check out of routine.
;                                                         Removed error code.
;                 eis cpt seq wait                      : New routine setting up sequence wait command.
;                 eis cpt run raster                    : Removed number of exposures per raster position tag from raster detail.
;                 eis cpt check raster                  : Removed number of exposures per raster position tag from raster detail.
;                 eis cpt raster length                 : Adapted from eis multiple sequence tables.
;                 eis cpt raster detail estimates       : Removed number of exposures per raster position tag from raster detail.
;                 eis cpt process science sequences     : Added check of raster length calculation.
;                                                         Moved raster check into routine.
;                                                         Removed check on hex array.
;                                                         Moved slit/slot command into routine.
;                                                         Used eis cpt end sequence.
;                 eis get study                         : Added exposure delay control.
;                 eis cpt test define                   : Added expdelays tag.
;                 eis cpt test sysv                     : Added EXPDELAYS keyword.
;                 eis cpt test                          : Added tests 13.
;                 eis cpt end sequence                  : Adapted from eis cpt process science sequences.
;
;                Add text output to GUI :
;
;                 eis cpt widget                        : New routine that handles output widget ID.
;                 eis cpt message                       : Added widget output.
;                 eis cpt                               : Added WIDGET keyword.
;                 eis cpt test widget                   : New routine that sets up test widget used by EIS_CPT.
;                 eis cpt test                          : Added widget to test 20.
;                 eis cpt command store output          : Changed print out to use eis cpt message.
;                 eis cpt data rate                     : Changed print out to use eis cpt message.
;                 eis cpt obstbl ascii                  : Changed print out to use eis cpt message.
;                 eis cpt obstbl output                 : Changed print out to use eis cpt message.
;
;                Add OBSTBL upload time to ORL file :
;
;                 eis engineering parameters define     : Removed OBSTBL memory command time tag.
;                 eis engineering parameters default    : Removed OBSTBL memory command time tag.
;                 eis cpt upload time                   : Added OBSTBL memory upload time constant.
;                                                         Removed engineering parameters argument.
;                 eis cpt data rate                     : Removed engineering parameters argument.
;                 eis cpt process                       : Removed engineering parameters from eis cpt data rate.
;                 eis cpt jside commands                : Added OBSTBL upload time to ORL file.
;
;               Version 1.8, 08/02/07, MKC
;
;                Allowed output of ORL and DR files without OBTSBL and MAP files :
;
;                 eis cpt                               : Extended use of JSIDE keyword.
;                 eis cpt complete                      : Added jside argument to control JSIDE file output.
;                 eis cpt test                          : Added test 2.11.
;
;               Version 1.9, 27/03/07, MKC
;
;                OBSTBL upload performed in AUTO mode, move START and STOP :
;
;                 eis cpt jside commands                : Removed MANUAL command from EIS OBSTBL LOAD sequence.
;                                                         Added OBSTBL LOAD start and end messages to operator.
;                 eis command store process             : Moved NP_C EIS start and end comments for operator to another routine.
;                                                         Added EIS start and end comments to ORL file.
;               Version 2.0, 16/04/07, MKC
;
;                Miscellaneous :
;
;                 eis cpt count                         : New routine : count nonzero elements.
;                 eis cpt obstbl map summary            : New routine : produces summary of OBSTBL tables used.
;                 eis cpt obstbl map write              : Added tables used summary.
;                 eis cpt version                       : Added NOCOMMA keyword.
;                 eis cpt test                          : Added MSSL and INTEL outputs to all tests.
;                                                         Added test 12.5.
;                 eis cpt timeline item output          : Changed description output format.
;                 eis cpt check upload                  : Changed check on length of upload id.
;                 eis cpt process timeline              : Commented out check on no. of slit/slot changes.
;
;                Output eis cpt version :
;
;                 eis cpt command store process         : Added eis cpt version to output.
;                 eis cpt obstbl refresh                : Added version to header.
;                 eis cpt obtsbl map text               : Added eis cpt version.
;                 eis cpt data rate                     : Added eis cpt version.
;
;                More info on window error :
;
;                 eis cpt check window                  : Added more info on error.
;                                                         Corrected check on y hardware window to 1024.
;                 eis get study                         : Added hardware window tag to !EIS CPT TEST.
;                 eis cpt test define                   : Added hardware window tag.
;                 eis cpt test sysv                     : Added hardware window tag.
;                 eis cpt raster detail default         : Added hardware window keyword.
;                 eis cpt test                          : Added test 4.12.
;
;                Checks on OBSTBL upload time :
;
;                 eis cpt check upload                  : Made messages more informative.
;                                                         Added extra check on upload time.
;                 eis cpt test                          ; Added test 4.13.
;                                                         Changed default time period to future.
;
;                Change processing of special window commands :
;
;                 eis cpt hex raster                    : Moved special window commands to separate routine.
;                                                         Removed raster id argument.
;                 eis cpt run raster                    : Removed raster id argument.
;                                                         Set raster id internally.
;                 eis multiple sequence tables          : Added separate special hardware window calculation.
;                                                         Added code for omitting special hardware window commands.
;                                                         Added response raster KEYWORD.
;                 eis cpt raster length                 : Removed special hardware window from raster calculation.
;                                                         Added code for omitting special hardware window commands
;                 eis cpt test                          : Added test 7.4.
;                                                         Added test 13.3
;                                                         Added test 3.13.
;                                                         Added test 7.5.
;                                                         Added test 7.6.
;                 eis cpt process study                 : Added error messages.
;                                                         Added response raster keyword.
;                 eis cpt process science sequences     : Moved special window commands to separate routine.
;                                                         Added keyword RESPONSE_RASTER.
;                                                         Changed so that only set special window values if necessary.
;                 eis cpt c set window                  : Added current window argument.
;                                                         Added check on whether commands needed.
;                 eis get study                         : Added ystart tag to !EIS CPT TEST.
;                 eis cpt test define                   : Added YSTART tag.
;                 eis cpt test sysv                     : Added YSTART tag.
;                 eis cpt raster detail default         : Added ystart keyword.
;                 eis cpt decode sequence table         : Decoded special hardware window commands explicitly.
;                 eis cpt get control                   : Used 2nd raster as response raster for eis flares.
;                 eis cpt process studies               : Corrected bug in finding the response raster id.
;                 eis cpt response study                : Changed processing.
;                 eis cpt check study                   : Added response raster KEYWORD.
;                 eis cpt check event response study    : Added response raster keyword.
;
;                Changed tests :
;
;                 eis cpt test                          : Changed mechanism for selecting tests.
;                 eis cpt run test                      : New routine : tests test applicable.
;
;                Extended engineering command sequences :
;
;                 eis cpt process studies               : Added check.
;                                                         Used routine eis cpt call studies.
;                 eis cpt call studies                  : New routine : adds study to command store.
;                 eis cpt jside commands                : Adapted to use keywords rather than command mnemonics.
;                 eis cpt command store define          : Switched to OO version of command store.
;                 eis cpt op define                     : New routine : Generates op structuret.
;                 eis cpt og define                     : New routine : Generates og structure.
;                 eis cpt real define                   : New routine : Generates real structure.
;
;                Fix re-usable study problem :
;
;                 eis cpt test                          : Added test 8.9.
;
;                Replace command store with orl object :
;
;                 eis cpt command store define          : Removed.
;                 eis cpt command store                 : Removed.
;                 eis cpt command store add             : Removed.
;                 eis cpt command store check           : Removed.
;                 eis cpt command store output          : Removed.
;                 eis cpt command store process         : Removed.
;                 eis cpt jside commands                : Changed argument list.
;                                                         Moved manual REAL commands out of routine.
;                 eis cpt jside sequence                : Removed.
;                 eis cpt jside process                 : Removed.
;                 eis cpt call studies                  : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process studies               : Added orl argument.
;                 eis cpt process                       : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process suspension periods    : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process abort times           : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process bakeout periods       : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process coarse mirror commands: Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt process real command sequences: Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt                               : Replaced eis cpt command store with orl object.
;                 eis cpt preliminaries                 : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt complete                      : Added orl argument.
;                                                         Replaced eis cpt command store with orl object.
;                 eis cpt setup constants               : Added no orl sequences constant.
;                 eis cpt command store class define    : New routine : Generates object EIS CPT store class.
;                 eis cpt og class define               : New routine : Generates object EIS CPT og class.
;                 eis cpt orl class define              : New routine : Generates object EIS CPT orl class.
;                 eis cpt seqexec class define          : New routine : Generates object EIS CPT seqexec class.
;
;                Rename REAL command sequences to ORL command sequences :
;
;                 eis cpt check time period             : Removed REAL command sequences.
;                 eis cpt process                       : Removed REAL COMMAND sequences.
;                 eis cpt process orl engineering study : Renamed routine from eis cpt process real command sequences.
;                                                         Replaced REAL command sequences with ORL command sequences.
;                 eis cpt                               : Removed REAL_COMMANDS keyword.
;                 eis cpt environment                   : Removed REAL keyword.
;                 eis cpt environment wrapper           : Removed REAL directory.
;                 eis cpt get orl detail                : Renamed routine from eis get real detail.
;                                                         Replaced REAL command sequences with ORL command sequences.
;                                                         Added tags.
;                 eis get study                         : Added ORL engineering studies.
;                 eis list real detail define           : Deprecated.
;                 eis list real detail default          : Deprecated.
;                 eis cpt list real command sequences   : Deprecated.
;                 eis orl detail define                 : Renamed from eis real detail define.
;                                                         Added tags.
;                 eis cpt orl detail default            : Renamed from eis cpt real detail default.
;                 eis structures                        : Removed eis list real detail structure.
;                                                         Renamed eis real detail structure.
;                 eis structure defaults                : Removed eis list real detail structure.
;                                                         Renamed eis real detail structure.
;                                                         Added orl detail to argument list.
;                 eis cpt jside commands                : Renamed REAL command sequences to ORL command sequences.
;                                                         Change sequence name for ORL command sequences.
;                 eis cpt test                          : Removed real command sequences.
;                                                         Modifed test 2.6 to use orl command sequences.
;                 eis cpt test sysv                     : Removed REAL keyword.
;                 eis cpt test define                   : Removed REAL tag.
;                 eis cpt test parameters               : Removed real command sequences.
;                 eis cpt study detail default          : Added ORL studies.
;                 eis cpt list study details            : Added orl engineering studies.
;                 eis cpt process study                 : Changed to CASE statement to include ORL engineering studies.
;                 eis cpt process studies               : Added ORL engineering studies.
;                 eis cpt check studies list            : Checked engineering flag.
;                                                         Added checks on ORL engineering studies.
;                Added checks :
;
;                 eis cpt check study                   : Moved checks for disallowed tag.
;                 eis cpt check studies list            : Added checks for disallowed tag.
;                 eis cpt check upload                  : Moved check on contact info.
;                 eis cpt check contacts                : New routine : checks contact info.
;                 eis cpt check interval                : New routine : checks times within given intervals.
;                 eis cpt                               : Added eis cpt check contacts.
;                 eis cpt test define                   : Added CONTACTS tag, removed NOCONTACTS.
;                 eis cpt test sysv                     : Added CONTACTS keyword, removed NOCONTACTS.
;                 eis cpt contacts default              : Extended contact info control.
;                 eis cpt test                          : Removed NOCONTACTS keyword.
;                                                         Added CONTACTS keyword.
;                Process general ORL command sequences :
;
;                 eis cpt test                          : Added tests 14.
;                 eis cpt jside commands                : Removed FILE command.
;                                                         Changed eis sib cmd function.
;                                                         Removed indentation of commands.
;                 eis cpt process orl engineering study : Added general ORL file processing.
;                 eis cpt readtime                      : New routine : reads time from ORL file.
;                 eis cpt readnum                       : New routine : reads number from ORL file.
;                 eis cpt sib                           : Changed to return error code.
;                                                         Removed indentation of command.
;                 eis cpt orl class define              : Changed eis sib cmd function.
;                                                         Removed individual indentation of commands.
;                 eis cpt commands class define         : Added global indentation of commands.
;                 eis cpt og class define               : Removed global indentation of commands.
;                 eis cpt parse orl line                : New routine : Parses a line from an orl engineering study.
;                 eis cpt parse orl seqname             : New routine : Parses an orl seqname.
;                 eis cpt parse orl comment             : New routine : Parses comment in ORL file.
;                 eis cpt parse orl sequence            : New routine : Parses an orl sequence.
;                 eis cpt parse orl commands            : New routine : Parses the orl sequence commands.
;                 eis cpt parse orl sib                 : New routine : Parses an orl sib command.
;                 eis cpt parse orl c                   : New routine : Parses an orl c. command.
;                 eis cpt parse orl entry               : New routine : Parses an orl entry command.
;                 eis cpt parse orl number              : New routine : Parses the orl number command.
;
;                Remove LOAD OBSTBL sequence from eis cpt test output:
;
;                 eis cpt orl class define              : Added TEST keyword to OUTPUT method.
;                 eis cpt complete                      : Added TEST keyword to ORL output.
;                                                         Removed "test_" from ORL and DR output file names for jside=2
;
;                MANUAL command for OBSTBL upload :
;
;                 eis cpt jside commands                : Put back MANUAL command into EIS OBSTBL LOAD sequence.
;
;               Version 2.1, 01/03/08, MKC
;
;                Update with changes made to operational version 20/09/07 :
;
;                 eis cpt run raster                    : Modified ASRC handling
;                 eis cpt check raster                  : Corrected bug in fine mirror end position calculation
;                 eis cpt data rate                     : Changed some of the output formatting.
;                 eis cpt obstbl ascii                  : Changed some of the output formatting.
;                 eis cpt obstbl map summary            : Changed some of the output formatting.
;                 eis cpt obstbl output                 : Changed some of the output formatting.
;                 eis cpt orl class define              : Changed some of the output formatting.
;
;                Checked big-endian used throughout :
;
;                 eis cpt set raster id                 : Added big-endian comments.
;                 eis cpt run raster                    : Added big-endian comments.
;                 eis cpt set aec table                 : Added big-endian comments.
;                                                         Corrected bug where last 7 bits of binning factor were zeroed.
;                 eis cpt set xrt flare table           : Added big-endian comments.
;                 eis cpt set eis flare table           : Added big-endian comments.
;                 eis cpt set eis event table           : Added big-endian comments.
;
;                Added RESOLV commands :
;
;                 eis cpt mssl commands                 : Added RESOLV commands.
;                 eis cpt process study                 : Changed study ID output to hex if error.
;                 eis cpt process studies               : Changed study ID output to hex if error.
;                 eis get study                         : Added new engineering study.
;                                                         Changed engineering ID file mapping.
;                                                         Added new ORL engineering study.
;                 eis cpt environment wrapper           : New SIB command table.
;
;                Increase EIS OG allocation to 60 :
;
;                 eis cpt store class define            : Hardcoded size of store.
;                                                         Modified error messages.
;                 eis cpt setup constants               : Removed no orl sequences from external constants.
;                                                         Added OG first and OG last constants.
;                 eis cpt og class define               : Changed error text if OG number overflow.
;                                                         Added check that OG number array size not exceeded.
;                                                         Used EIS CPT constants for EIS OG number range.
;
;                Checking ASRC behaviour :
;
;                 eis cpt raster detail default         : Added ASRC control and mirror movement keywords.
;                                                         Moved defaults for ASRC and mirror control.
;                                                         Used N_ELEMENTS NE 0 rather than KEYWORD_SET throughout.
;                 eis get study                         : Added ASRC control and mirror movement keywords.
;                 eis cpt test define                   : Added ASRC control and mirror movement keywords.
;                 eis cpt test sysv                     : Added ASRC control and mirror movement keywords.
;                                                         Added defaults for ASRC and mirror control.
;                 eis cpt check raster                  : Added extra checks on fine mirror position.
;
;                Adding ORL upload ID :
;
;                 eis upload define                     : Replace upload id with OBSTBL and ORL upload ids.
;                 eis upload default                    : Replace upload id with OBSTBL and ORL upload ids.
;                 eis cpt check upload                  : Replace upload id with OBSTBL and ORL upload ids.
;                 eis cpt complete                      : Replace stamp with OBSTBL and ORL stamps.
;                 eis cpt                               : Replace stamp with OBSTBL and ORL stamps in eis cpt complete.
;                 eis cpt structure defaults            : Added new upload default argument.
;
;                Add new EIS TBL upload procedure :
;
;                 eis cpt orl class define              : Added new EIS TBL upload procedure.
;                                                         Added POINT keyword to add method.
;                 eis cpt seqexec class define          : Added POINT keyword to add method.
;                 eis cpt jside commands                : Added new EIS TBL upload procedure.
;                                                         Removed manual command from EIS OBSTBL LOAD sequence.
;                                                         Added 3 minute check on upload time.
;                                                         Replaced manual command into EIS OBSTBL LOAD sequence.
;                 eis cpt process                       : Added new EIS TBL upload procedure.
;                 eis cpt check contacts                : Allow real sequence time of -1 to bypass check.
;                 eis cpt upload time                   : Added SECONDS keyword.
;
;                Bug in re-using ORL engineering studies :
;
;                 eis cpt parse orl seqexec             : New routine for decoding SEQEXEC sequence.
;                 eis cpt parse orl defseq              : New routine for decoding DEFSEQ sequences.
;                 eis cpt parse orl line                : Deprecated.
;                 eis cpt process orl engineering study : Used new routines in place of deprecated routine.
;                                                         Moved check study into routine.
;                 eis cpt process studies               : Corrected bug where ORL engineering study not included if repeated with same timeline ID.
;                 eis cpt process study                 : Removed processing of ORL engineering studies.
;
;                Facilitate running eis cpt on past studies :
;
;                 eis cpt check update                  : Replaced upload time error with warning.
;
;                Testing changes :
;
;                 eis cpt test                          : Added tests 15.
;                                                         Added tests 14.5.
;                                                         Relabelled 4.0-13 -> 4.1-14
;                                                         Changed sequence IDs so last nibble starts at 0.
;                                                         Removed unnecessary specification of onboard for ORL engineering studies.
;                                                         Added test 4.15.
;                 eis cpt test orl                      : Removed routine.
;
;               Version 2.2, 11/06/08, MKC
;
;                Miscellaneous :
;
;                 eis cpt test environment              : Changed value of environment variable.
;                 eis cpt check event response study    : Changed error message.
;                 eis cpt check studies list            : Changed message.
;                 eis cpt check control parameters      : Changed message.
;                 eis cpt raster detail default         : Changed so that ystart does not overwrite special hardware window ystart always.
;                                                         Changed so that hardware window does not affect special hardware window.
;                 eis cpt decode sequence table         : Added extra output.
;
;                Automatic setting of response study ystart :
;
;                 eis get study                         : Allowed case of no response study in study list.
;                 eis cpt get control                   : Allowed case of no response study in study list.
;                 eis cpt test                          : Added tests 7.7-7.13.
;                                                         Modified test 3.13.
;                 eis cpt fine mirror range             : New routine : calculates fine mirror range.
;                 eis cpt check raster                  : Use eis cpt fine mirror range routine.
;                                                         Added check that ASRC not used for hunter raster.
;                 eis cpt difference                    : New routine : Checks difference between two arrays.
;                 eis cpt table difference              : Used eis cpt difference.
;                 eis cpt process studies               : Incorporated pointing for response study.
;                 eis cpt set response pointing         : New routine : Adjusts pointing of response studies.
;                 eis cpt find study                    : Added comment about response studies.
;
;                David Brooks requests :
;
;                 eis cpt complete                      : Used INTERNAL keyword for outputs.
;                 eis cpt environment                   : Added INTERNAL keyword.
;                 eis cpt environment define            : Added INTERNAL directory tag.
;                                                         Removed real command seqeunce directory tag.
;                 eis cpt environment wrapper           : Added INTERNAL directory tag.
;                                                         Removed output argument.
;                                                         Added MSSL, INTEL, OBSTBL, OBSTBL_MAP, ORL and DATA_RATE  keywords.
;                                                         Changed arguments.
;                 eis cpt file name                     : Added INTERNAL keyword.
;                                                         Changed so that if directory blank then returns blank file.
;                 eis cpt obstbl output                 : Added INTERNAL keyword.
;                                                         Changed so that if obstbl file name blank then does not output.
;                                                         Changed so that does not print message for internal copy.
;                 eis cpt obstbl map write              : Added INTERNAL keyword.
;                                                         Changed so that if obstbl map file name blank then does not output.
;                 eis cpt data rate                     : Changed so that if data rate file name blank then does not output.
;                 eis cpt ascii tables                  : Changed so that if file name blank then does not output.
;                 eis cpt obstbl ascii                  : Changed printout if directory not defined.
;                 eis cpt orl class define              : Changed so that if orl file name blank then does not output.
;                 eis cpt obstbl                        : Added INTERNAL keyword.
;                 eis cpt obstbl map read               : Changed name of internal obstbl map directory.
;                 eis cpt obstbl get                    : Changed name of internal obstbl directory.
;                 eis cpt check contacts                : Allow no contact periods to proceed without warning message.
;                 eis cpt test                          : Test 4.6 no longer generates warning.
;                                                         Added test 2.12.
;                 eis cpt test environment              : Changed eis cpt environment wrapper arguments.
;                                                         Added NOOUTPUT keyword.
;               Version 2.3, 01/10/08, MKC
;
;                Further modifications of directory structure :
;
;                 eis cpt complete                      : Change so that outputs external OBSTBL if test set
;                                                         Output OBSTBL and ORL files to LATEST directory.
;                 eis cpt environment                   : Changed INTERNAL keyword to INTERNAL_OBS and INTERNAL_MAP keywords.
;                                                         Added LATEST keyword.
;                 eis cpt environment define            : Changed INTERNAL directory tag to INTERNAL_OBS and INTERNAL_MAP tags.
;                                                         Added LATEST directory tag.
;                 eis cpt environment wrapper           : Changed INTERNAL argument to INTERNAL_OBS and INTERNAL_MAP arguments.
;                                                         Added LATEST keyword.
;                 eis cpt orl class define              : Added LATEST keyword to output method.
;                 eis cpt file name                     : Added LATEST keyword.
;                                                         Used separate INTERNAL_OBS and INTERNAL_MAP directories.
;                 eis cpt obstbl output                 : Added LATEST keyword.
;                 eis cpt obstbl                        : Added LATEST keyword.
;                 eis cpt test environment              : Changed eis cpt environment wrapper arguments.
;
;                Miscellaneous :
;                 eis cpt first                         : New routine :Checks if first call with this string argument.
;                 eis cpt obstbl map write              : Used eis cpt first.
;                 eis cpt preliminaries                 : Reset first string list.
;
;               Version 2.4, 23/03/10, MKC
;
;                Included JAR's additional event table tags :
;
;                 eis xrt flare control define          : Added tag nodata.
;                 eis event control define              : Added tags.
;                 eis flare control define              : Added tag nodata.
;
;                Corrected bugs in event study implementation :
;
;                 eis cpt decode sequence table         : Corrected bug where decoding event trigger flags.
;                 eis cpt response raster               : Added keywords ADJUST_X, ADJUST_Y.
;                 eis cpt set response pointing         : Changed comments.
;                                                         Removed RESPONSE_RASTER keyword.
;                 eis cpt process study                 : Added keyword ADJUST_Y.
;                 eis cpt process studies               : Used separate internal keyword for ADJUST_Y.
;                 eis cpt process response studies      : Used separate internal keyword for ADJUST_Y.
;                 eis cpt process science sequences     : Added keyword ADJUST_Y.
;                                                         Changed so that does not issues special window command for YSTART if YADJUST set until response raster performed.
;                 eis cpt process linelists for study   : Added keyword ADJUST_Y.
;                 eis cpt check study                   : Added keyword ADJUST_Y.
;                 eis multiple sequence tables          : Added keyword ADJUST_Y.
;                 eis cpt check event response study    : Added internal ADJUST_Y keyword.
;                 eis cpt test                          : Added test 7.14.
;
;               Version 2.5, 05/05/11, MKC
;
;                Modified JAR's extra tags.
;
;                 eis event control define              : Modified JAR extra tags.
;                 eis flare control define              : Modified JAR extra tags.
;
;                Changes post MSSL testing :
;
;                 eis cpt file name                     : Added stamp to MSSL and INTEL filenames.
;                 eis cpt obstbl                        : Added STAMP keyword to eis cpt obstbl ascii.
;                 eis cpt obstbl ascii                  : Added STAMP keyword.
;                 eis cpt ascii tables                  : Added STAMP keyword.
;                 eis cpt process studies               : Added STAMP keyword.
;                 eis cpt process                       : Added STAMP keyword.
;                                                         Added REVISED PLAN keyword.
;                 eis cpt                               : Added stamp keyword to eis cpt process.
;                                                         Added REVISED PLAN keyword.
;                 eis cpt test                          : Added test 7.14.
;                                                         Changed test day to be 2015/12/25.
;                                                         Added tests 16.
;
;               Version 2.6, 08/06/11, MKC
;
;                Eliminated error message for REVISED PLAN :
;
;                 eis cpt contacts default              : Added invalid contact time.
;                 eis cpt test                          : Changed so that contact time invalid.
;                 eis cpt check contacts                : Fixed bug : used KEYWORD_SET(list) to check if empty.
;                                                         If list =[0] then check does not work in later versions of IDL.
;                                                         BLOCK was first element which had time -1 so no effect until changed to -2 when
;                                                         using revised plan.
;                 eis cpt test                          : Modified tests 16.
;                                                         Added test 4.16.
;                                                         Added journal command.
;                                                         Used fixed time where past upload time needed.
;                 eis cpt check upload                  : Added REVISED PLAN keyword.
;                                                         Checked if plan revised before performing checks on upload time.
;                                                         Changed warning message if upload time before current time.
;                 eis cpt                               : Passed REVISED PLAN keyword to eis cpt check upload.
;                 eis cpt decode linelist table         : Outputted actual value for ccd ro node.
;                                                         Changed output comment.
;                 eis cam readout define                : Added ccd ro node tag for value used in linelist which is required by hunter studies.
;                 eis cpt test define                   : Added ccd ro node keyword.
;                 eis cpt get engineering               : Added ccd ro node to call.
;                 eis cpt get engineering parameters default : Added ccd ro node to call.
;                 eis cpt cam readout default           : Added ccd ro node to call.
;                 eis cpt test sysv                     : Added ccd ro node.
;                 eis cpt structure defaults            : Added argument to engineering parameter default.
;                 eis cpt set linelist                  : Set up ccd ro node.
;                 eis cpt environment                   : Added LOGFILE keyword.
;                 eis cpt environment define            : Added LOG file tag.
;                 eis cpt environment wrapper           : Added LOGFILE keyword.
;                 eis cpt test environment              : Added LOG file output.
;
;               Version 2.7, 06/07/11, MKC
;
;                Changes at MSSL :
;
;                 engineering_parameters_default        : Updated "event_safety_margin_time"
;                                                         and "AEC_safety_margin_time" from
;                                                         1 day (86400) to 20 minutes (1200 secs)
;
;               Version 2.8, 14/09/11, MKC
;
;                Some changes to REVISED PLAN operation :
;
;                 eis cpt process AEC table             : Corrected bug in which event safey margin time used
;                                                         instead of AEC safety margin time.
;                 eis cpt list study details            : Added minimum gap.
;                 eis cpt test sysv                     : Added GAP keyword.
;                 eis cpt test define                   : Added gap tag.
;
;                Error messages :
;
;                 eis cpt check engineering parameters  : Changed error message call.
;                 eis cpt check event response study    : Added check on event response study.
;                 eis cpt table place                   : Changed warning messages when OBSTBL table already in use.
;
;                Control table reset :
;
;                 eis cpt                               : Added control table reset option.
;                 eis cpt obstbl get                    : Added control table reset option.
;                 eis cpt test                          : Added test 7.3c with reusable event control table.
;                                                         Added test 7.3d with control table reset.
;
;               Version 2.9, 19/01/12, MKC
;
;                Minor changes for xrt flare testing :
;
;                 eis cpt set xrt flare table           : Changed spare bit of element 19 to 1.
;                                                         Changed spare bit of element 19 back to 0.
;                 eis xrt flare control define          : Added extra tags needed for Response DB
;
;               Version 3.0, 24/07/12, MKC
;
;                Minor changes for xrt flare parameters :
;
;                 eis cpt xrt flare parameters default  : Changed EIS FOV flag default from 1 to 3.
;                 eis cpt check xrt flare parameters    : Changed check on EIS FOV flag.
;
;               Version 3.1, 18/04/13, MKC
;
;                 Checked that if response study allows adjust x or y that response raster ID must be valid. In fact
;                 eis cpt insists that response raster valid for any response study (not filler study) if corresponding
;                 hunter study exists.
;
;                 If adjust x and/or y allowed, the onboard sw pokes values into special CAM CSG ID 4 and into study and linelist.
;                 After response study returns (including filler study), the values are reset in response study and linelist
;                 but not CAM. Do not rely on special CAM values. Any raster using special hardware window for the first time in a
;                 study has all CAM values set up. Subsequent use of special window within the same study relies on previous value.
;
;                 For a response study the ystart is poked into the special CAM by the onboard sw so the response study must not
;                 overwrite it. An ambiguity existed in the software around whether the ylength of the special window was also poked by
;                 the onboard sw, in addition to the ystart, when adjust y was allowed for a response study. This is now clear.
;                 It is poked but only with the same value used by the response raster. In particular, the onboard sw does not
;                 adjust the ylength for cases where the response raster window is near the edge of the field of view but
;                 adjusts the ystart instead.
;
;                 Corrected bug in which the flags used to prevent the response raster including the ystart command for the
;                 special hardware window were left on for following studies. This would not cause any problems if the event
;                 response studies were at the end of the studies list, as was the case.
;
;                 Previously, if adjust y set then would still be set for filler study. This is not used in eis cpt sw and
;                 could not be relied on anyway since depends on order of studies and changed by above bug fix.
;
;                 Allowed the planning tools to specify the mirror start and ystart for rasters within the response study.
;                 Previously, response studies were defined in the studies database and contained rasters that were generic
;                 so did not have any pointing information specified for them.
;                 The response study was defined by the 16 bit response study ID field in the corresponding control table
;                 which was an ID for the study database. The mirror xstart for each raster in the response study was set
;                 the same as the hunter study. The camera ystart for each raster using the special hardware window in the
;                 response study was set the same as the hunter study. The ystart for any raster in the response study
;                 using a normal hardware window could not be changed anyway.
;                 Previously did not set response pointing if no hunter study but allowed case where
;                 only response study in studies list and so pointing not defined. If no hunter study then did not check
;                 control table or response study.
;
;                 Pointing can now be set by the planning tools for a response study.
;                 Need to supply the planning tools with a means to get esponse pointing.
;                 Allow case where hunter study pointing is used for response so can have
;                 the same response study for hunter studies at different locations.
;
;                 The mirror xstart and camera ystart should now be left unaltered for any response study that wants to use
;                 absolute pointing. However, still need the ability to specify that the response study use the hunter study
;                 pointing and response rasters with adjustable pointing need to use the hunter study pointing.
;                 Also, would be nice to be able to specify pointing relative to the hunter study pointing.
;
;                 Have added a tag to raster detail to allow control of these options.
;                 This gives a flag for each raster in the response study to determine whether hunter study pointing used or
;                 response study pointing used. Carried on allowing multiple rasters in a response study.
;                 Have set response pointing to either hunter study or leave alone depending on flag.
;                 For response raster, if x and/or y adjust allowed, then need to set respective pointing to hunter study
;                 because of how onboard sw works.
;
;                 Changed so that gives an error if response study but no hunter study.
;
;                 The simplest way to supply the new response pointing database ID would be if it were provided in the
;                 contol table as before instead of the study database ID.
;                 However, issues within the planning tools prevent this.
;                 Instead, will supply the hunter study ID in addition to the study database ID of the response study.
;
;                Changes to allow planning tools to set response study pointing :
;
;                 eis get study                         : Changed keyword STUDY DATABASE to RESPONSE STUDY.
;                                                         Renamed routine eis cpt get engineering detail.
;                                                         Renamed routine eis cpt raster detail default.
;                                                         Renamed routine eis cpt get orl detail.
;                                                         Added keyword RESPONSE CONTROL to eis cpt test raster detail default.
;                                                         Allowed mirror pos for each raster and study.
;                                                         Added KEYWORD HUNTER STUDY ID.
;                 eis cpt check event response study    : Changed keyword STUDY DATABASE to RESPONSE STUDY in eis get study.
;                                                         Changed wording of check on response study sequence length.
;                                                         Added check that response raster is first to use special windows if adjust y allowed.
;                                                         Added check that hunter study is present.
;                 eis cpt process response studies      : Removed routine since not used by eis cpt.
;                 eis cpt response study                : Extended use of this routine to include eis cpt response raster.
;                                                         Changed study id returned to response flag.
;                                                         Added KEYWORDS RESPONSE STUDY ID, RESPONSE DESCRIPTION, RESPONSE RASTER ID,
;                                                         ADJUST X and ADJUST Y.
;                 eis cpt response raster               : Deprecated.
;                 eis cpt get control                   : Changed keyword STUDY DATABASE to RESPONSE STUDY in eis get study.
;                 eis cpt hunter study                  : New routine.
;                 eis cpt process studies               : Used new version of eis cpt response study.
;                                                         Removed eis cpt response raster.
;                                                         NB This corrected a bug in which studies following a response study
;                                                         allowing adjust y could have special window ystart command omitted and
;                                                         be prevented from re-using linelists.
;                                                         Changed keyword STUDY DATABASE to RESPONSE STUDY in eis get study.
;                                                         Changed keyword RESPONSE RASTER to RESPONSE RASTER ID in eis cpt process study.
;                                                         Changed argument list of eis cpt set response pointing.
;                                                         Used routine eis cpt get hunter info.
;                 eis cpt process study                 : Changed keyword RESPONSE RASTER to RESPONSE RASTER ID.
;                                                         Changed order of argument list in eis cpt process science sequences.
;                                                         Added check on multiple sequences.
;                 eis cpt check study                   : Changed keyword RESPONSE RASTER to RESPONSE RASTER ID.
;                 eis multiple sequence tables          : Changed keyword RESPONSE RASTER to RESPONSE RASTER ID.
;                 eis cpt process linelists for study   : Changed keyword RESPONSE RASTER to RESPONSE RASTER ID.
;                 eis cpt process science sequences     : Changed keyword RESPONSE RASTER to RESPONSE RASTER ID.
;                                                         Changed order of argument list and removed eis multiple sequences check.
;                 eis cpt set response pointing         : Changed argument list.
;                                                         Moved hunter study processing to eis cpt process studies.
;                 eis raster detail define              : Added response control tag.
;                 eis cpt get hunter pointing           : Adapted from eis cpt set response pointing.
;                 eis cpt get hunter study              : Adapted from routine eis cpt process event response studies.
;                 eis cpt version                       : Added check for test system variable and dummy version number for testing.
;
;                Some tidying up :
;
;                 eis cpt test version                  : New routine. Moved all further changes to test sw into new routine and
;                                                         no longer document in eis cpt version.
;
;               Version 3.11, 24/05/13, MKC
;
;                 Changed implementation to avoid duplication and passed all control of response pointing
;                 over to planning tools. So that just put in response pointing without check or alteration.
;                 Fixed problem with eis cpt version using an undefined system variable.
;
;                 eis cpt version                       : Changed contol of dummy output for testing.
;                 eis cpt set response pointing         : Moved hunter study processing to eis cpt process studies.
;                                                         Deprecated.
;                 eis cpt process studies               : No longer adjust response study pointing. Let planning tools set pointing.
;                                                         Removed eis cpt set response pointing.
;                 eis get study                         : Removed RESPONSE CONTROL.
;                 eis cpt setup constants               : Added test flag tag to contol version number.
;
;               Version 3.12, 30/06/13, MKC
;
;                 Removed changes to EIS CPT CONSTANTS
;
;                 eis cpt version                       : Removed changes.
;                 eis cpt setup constants               : Removed changes.
;
;               Version 3.13, 22/04/14, MKC
;
;                 Added mechanism for specifying a non-contiguous range of OG numbers.
;                 Added some extra commands to LOAD OBTSBL REAL orl sequence.
;
;                 eis cpt setup constants               : Changed mechanism for specifying range of available OG numbers.
;                                                         NB These constants have nothing to do with the implementation of the code.
;                 eis cpt orl class define              : Changed how fixed OG number specified.
;                                                         Removed keyword number from seq add method.
;                                                         Replaced with keyword FIXED in method og add.
;                                                         Keyword controlling fixed OG no longer accessible from external method call.
;                                                         Added extra commands to MANUAL sequence in REAL.
;                 eis cpt og class define               : Changed mechanism for specifying range of available OG numbers.
;                                                         Replaced with keyword FIXED in method add.
;                                                         Changed check on fixed OG.
;                                                         Added OG fixed tag to EIS CPT og class.
;                                                         Changed OG number overflow message.
;                                                         Removed OG number invalid message.
;
; Version     : 3.13, 22/04/14
;-
;**********************************************************

FUNCTION eis_cpt_version, NOCOMMA=nocomma

  IF 1 THEN BEGIN

    ; return current version number

    IF KEYWORD_SET(nocomma) THEN $
      RETURN, '3.13 22/04/14' $
    ELSE $
      RETURN, '3.13, 22/04/14'

  ENDIF ELSE BEGIN

    ; return dummy version number

    IF KEYWORD_SET(nocomma) THEN $
      RETURN, '0.0 01/01/01' $
    ELSE $
      RETURN, '0.0, 01/01/01'

  ENDELSE

END
