SUBROUTINE BDI0_INIT( STATUS )
*+
* Name:
* BDI0_INIT
* Purpose:
* Load BDI ADI definitions
* Language:
* Starlink Fortran
* Invocation:
* CALL BDI0_INIT( STATUS )
* Description:
* {routine_description}
* Arguments:
* STATUS = INTEGER (givend and returned)
* The global status.
* Examples:
* {routine_example_text}
* {routine_example_description}
* Pitfalls:
* {pitfall_description}...
* Notes:
* {routine_notes}...
* Prior Requirements:
* {routine_prior_requirements}...
* Side Effects:
* {routine_side_effects}...
* Algorithm:
* {algorithm_description}...
* Accuracy:
* {routine_accuracy}
* Timing:
* {routine_timing}
* External Routines Used:
* {name_of_facility_or_package}:
* {routine_used}...
* Implementation Deficiencies:
* {routine_deficiencies}...
* References:
* BDI Subroutine Guide : http://www.sr.bham.ac.uk/asterix-docs/Programmer/Guides/bdi.html
* Keywords:
* package:bdi, usage:private
* Copyright:
* Copyright (C) University of Birmingham, 1995
* Authors:
* DJA: David J. Allan (Jet-X, University of Birmingham)
* {enter_new_authors_here}
* History:
* 9 Aug 1995 (DJA):
* Original version.
* {enter_changes_here}
* Bugs:
* {note_any_bugs_here}
*-
* Type Definitions:
IMPLICIT NONE ! No implicit typing
* Global Constants:
INCLUDE 'SAE_PAR' ! Standard SAE constants
INCLUDE 'AST_PKG'
* Status:
INTEGER STATUS ! Global status
* External References:
LOGICAL AST_QPKGI
EXTERNAL AST_QPKGI
EXTERNAL BDI0_SCARCHK
EXTERNAL BDI1_CHK
EXTERNAL BDI1_DELETE
EXTERNAL BDI1_GET
EXTERNAL BDI1_MAP
EXTERNAL BDI1_PUT
EXTERNAL BDI0_UNMAP ! Generic methods
EXTERNAL BDI2_CHK
EXTERNAL BDI2_GET
EXTERNAL BDI2_MAP
EXTERNAL BDI2_PUT
EXTERNAL BDI2_SCMAP
EXTERNAL BDI2_ARMAP
EXTERNAL BDI2_SPCHK
EXTERNAL BDI2_SPGET
EXTERNAL BDI2_SPMAP
EXTERNAL BDI2_SPMAPLQ
EXTERNAL BDI2_TICHK
EXTERNAL BDI2_TIGET
EXTERNAL BDI2_TIMAP
EXTERNAL BDI2_IMCHK
EXTERNAL BDI2_IMGET
EXTERNAL BDI2_IMMAP
* Local Variables:
INTEGER DID ! Dummy identifier
*.
* Check inherited global status.
IF ( STATUS .NE. SAI__OK ) RETURN
* If not already initialised
IF ( .NOT. AST_QPKGI( BDI__PKG ) ) THEN
* Requires the data models package
CALL ADI_REQPKG( 'dsmodels', STATUS )
* General file format independent methods
CALL ADI_DEFFUN(
: 'FileItemChk(_Scalar,_,_CHAR)',
: BDI0_SCARCHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemChk(_Array,_,_CHAR)',
: BDI0_SCARCHK, DID, STATUS )
* HDS general binned dataset interface
CALL ADI_DEFFUN(
: 'FileItemChk(_,_HDSfile,_CHAR)',
: BDI1_CHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemDel(_,_HDSfile,_CHAR)',
: BDI1_DELETE, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemGet(_,_HDSfile,_CHAR)',
: BDI1_GET, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_,_HDSfile,_CHAR,_CHAR,_CHAR)',
: BDI1_MAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemUnmap(_,_HDSfile,_CHAR,_INTEGER)',
: BDI0_UNMAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemPut(_,_HDSfile,_CHAR,_)',
: BDI1_PUT, DID, STATUS )
* FITS spectral interface
CALL ADI_DEFFUN(
: 'FileItemChk(_Spectrum,_FITSfile,_CHAR)',
: BDI2_SPCHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemGet(_Spectrum,_FITSfile,_CHAR)',
: BDI2_SPGET, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_Spectrum,_FITSfile,_CHAR,_CHAR,_CHAR)',
: BDI2_SPMAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_Spectrum,_FITSfile,"LogicalQuality",'/
: /'_CHAR,_CHAR)', BDI2_SPMAPLQ, DID, STATUS )
* FITS times series interface
CALL ADI_DEFFUN(
: 'FileItemChk(_TimeSeries,_FITSfile,_CHAR)',
: BDI2_TICHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemGet(_TimeSeries,_FITSfile,_CHAR)',
: BDI2_TIGET, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_TimeSeries,_FITSfile,_CHAR,_CHAR,_CHAR)',
: BDI2_TIMAP, DID, STATUS )
* FITS image interface
c CALL ADI_DEFFUN(
c : 'FileItemChk(_XYimage,_FITSfile,_CHAR)',
c : BDI2_IMCHK, DID, STATUS )
c CALL ADI_DEFFUN(
c : 'FileItemGet(_XYimage,_FITSfile,_CHAR)',
c : BDI2_IMGET, DID, STATUS )
c CALL ADI_DEFFUN(
c : 'FileItemMap(_XYimage,_FITSfile,_CHAR,_CHAR,_CHAR)',
c : BDI2_IMMAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemChk(_XYimage,_FITSfile,_CHAR)',
: BDI2_CHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_XYimage,_FITSfile,_CHAR,_CHAR,_CHAR)',
: BDI2_MAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemPut(_XYimage,_FITSfile,_CHAR,_)',
: BDI2_PUT, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemGet(_XYimage,_FITSfile,_CHAR)',
: BDI2_GET, DID, STATUS )
* FITS general binned interface
CALL ADI_DEFFUN(
: 'FileItemChk(_BinDS,_FITSfile,_CHAR)',
: BDI2_CHK, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemMap(_BinDS,_FITSfile,_CHAR,_CHAR,_CHAR)',
: BDI2_MAP, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemPut(_BinDS,_FITSfile,_CHAR,_)',
: BDI2_PUT, DID, STATUS )
CALL ADI_DEFFUN(
: 'FileItemGet(_BinDS,_FITSfile,_CHAR)',
: BDI2_GET, DID, STATUS )
* FITS Scalar interface
CALL ADI_DEFFUN(
: 'FileItemMap(_Scalar,_FITSfile,"Data",_CHAR,_CHAR)',
: BDI2_SCMAP, DID, STATUS )
* FITS Array interface
CALL ADI_DEFFUN(
: 'FileItemMap(_Array,_FITSfile,"Data",_CHAR,_CHAR)',
: BDI2_ARMAP, DID, STATUS )
* All FITS unmapping for BDI goes through BDI0_UNMAP
CALL ADI_DEFFUN(
: 'FileItemUnmap(_,_FITSfile,_CHAR,_INTEGER)',
: BDI0_UNMAP, DID, STATUS )
* Mark as initialised
CALL AST_SPKGI( BDI__PKG )
END IF
* Report any errors
IF ( STATUS .NE. SAI__OK ) CALL AST_REXIT( 'BDI0_INIT', STATUS )
END