1
C===========================================================================
2
C Copyright (C) 1995-2010 European Southern Observatory (ESO)
4
C This program is free software; you can redistribute it and/or
5
C modify it under the terms of the GNU General Public License as
6
C published by the Free Software Foundation; either version 2 of
7
C the License, or (at your option) any later version.
9
C This program is distributed in the hope that it will be useful,
10
C but WITHOUT ANY WARRANTY; without even the implied warranty of
11
C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
C GNU General Public License for more details.
14
C You should have received a copy of the GNU General Public
15
C License along with this program; if not, write to the Free
16
C Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
19
C Correspondence concerning ESO-MIDAS should be addressed as follows:
20
C Internet e-mail: midas@eso.org
21
C Postal address: European Southern Observatory
22
C Data Management Division
23
C Karl-Schwarzschild-Strasse 2
24
C D 85748 Garching bei Muenchen
26
C===========================================================================
29
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30
C.IDENTIFICATION: HOLESID.FOR
31
C.PURPOSE: Draw identification of holes to be drilled on OPTOPUS plate.
32
C.ALGORITHM: Use the routines of the AGL library
33
C.AUTHOR: Alessandra Gemmo Padova Department of Astronomy
34
C.VERSION: 050691 AG Creation
37
C------------------------------------------------------------------------------
41
INTEGER MADRID,TID,KUN,KNUL
42
INTEGER NPAR,ISTAT,ILEN,ILAB
44
INTEGER NCOLUM,NCOL,NROW,NSC
48
INTEGER DTYPE,NACOL,NAROW
49
INTEGER IIDENT, PLMODE, ACCESS
54
REAL XMIN,XMAX,YMIN,YMAX
57
DOUBLE PRECISION DIDENT
62
CHARACTER*17 COLUMN(4)
66
CHARACTER*20 IDENT, CTEST
69
LOGICAL NULL1,NULL2,NULL3,ISEL
72
INCLUDE 'MID_INCLUDE:TABLES.INC/NOLIST'
74
INCLUDE 'MID_INCLUDE:TABLED.INC/NOLIST'
83
CALL STSPRO('HOLESID')
86
CALL TDPGET(PARNEV,NPAR,ISTAT)
88
TEXT = '*** FATAL: Problems with parameters input table'
101
CALL TBTOPN(TABLE,F_I_MODE,TID,ISTAT)
103
TEXT = '*** FATAL: Failed to open table: '//TABLE
107
CALL TBIGET(TID,NCOL,NROW,NSC,NACOL,NAROW,ISTAT)
109
TEXT = '*** FATAL: Failed to get table info '//TABLE
113
C *** get column adresses
115
CALL TBCSER(TID,COLUMN(I),COL(I),ISTAT)
117
TEXT = '*** FATAL: Failed to get table column'
122
TEXT = '*** FATAL: Failed to get table column'
127
CALL TBFGET(TID,COL(3),AFORM,ILEN,DTYPE,ISTAT)
129
FORM = '('//AFORM(1:I)//')'
131
C ... plot - AGL window
132
CALL PTOPEN(' ','none',ACCESS,PLMODE)
136
C *** first iteration to find label positions
139
CALL TBSGET(TID,I,ISEL,ISTAT)
141
CALL TBERDR(TID,I,COL(1),VX,NULL1,ISTAT)
142
CALL TBERDR(TID,I,COL(2),VY,NULL2,ISTAT)
143
CALL STKRDR('PLRSTAT',11,1,NACT,XMIN,KUN,KNUL,ISTAT)
144
CALL STKRDR('PLRSTAT',12,1,NACT,XMAX,KUN,KNUL,ISTAT)
145
CALL STKRDR('PLRSTAT',15,1,NACT,YMIN,KUN,KNUL,ISTAT)
146
CALL STKRDR('PLRSTAT',16,1,NACT,YMAX,KUN,KNUL,ISTAT)
157
C *** second iteration to plot labels
160
CALL TBSGET(TID,I,ISEL,ISTAT)
162
CALL TBERDR(TID,I,COL(1),VX,NULL1,ISTAT)
163
CALL TBERDR(TID,I,COL(2),VY,NULL2,ISTAT)
166
IF (DTYPE.EQ.D_C_FORMAT) THEN
167
CALL TBERDC(TID,I,COL(3),CTEST,NULL3,ISTAT)
168
CALL FT_EOS(CTEST,20,IDENT,ISTAT)
170
ELSE IF (DTYPE.EQ.D_I4_FORMAT) THEN
172
CALL TBERDI(TID,I,COL(3),IIDENT,NULL3,ISTAT)
174
C WRITE(IDENT,FORM,ERR=30) IIDENT
175
WRITE(IDENT,FORM) IIDENT
178
ELSE IF (DTYPE.EQ.D_R4_FORMAT) THEN
179
CALL TBERDR(TID,I,COL(3),RIDENT,NULL3,ISTAT)
181
C WRITE(IDENT,FORM,ERR=30) RIDENT
182
WRITE(IDENT,FORM) RIDENT
185
ELSE IF (DTYPE.EQ.D_R8_FORMAT) THEN
186
CALL TBERDD(TID,I,COL(3),DIDENT,NULL3,ISTAT)
188
C WRITE(IDENT,FORM,ERR=30) DIDENT
189
WRITE(IDENT,FORM) DIDENT
197
IDENT1 = '~_~_'//IDENT
198
CALL LENBUF(IDENT1,ILEN)
199
CALL AGGTXT(X(ILAB),Y(ILAB),IDENT1(1:ILEN),22)
204
CALL TBTCLO(TID,ISTAT)