1
C @(#)corpsf.for 19.1 (ES0-DMD) 02/25/03 13:25:32
2
C===========================================================================
3
C Copyright (C) 1995 European Southern Observatory (ESO)
5
C This program is free software; you can redistribute it and/or
6
C modify it under the terms of the GNU General Public License as
7
C published by the Free Software Foundation; either version 2 of
8
C the License, or (at your option) any later version.
10
C This program is distributed in the hope that it will be useful,
11
C but WITHOUT ANY WARRANTY; without even the implied warranty of
12
C MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
C GNU General Public License for more details.
15
C You should have received a copy of the GNU General Public
16
C License along with this program; if not, write to the Free
17
C Software Foundation, Inc., 675 Massachusetss Ave, Cambridge,
20
C Corresponding concerning ESO-MIDAS should be addressed as follows:
21
C Internet e-mail: midas@eso.org
22
C Postal address: European Southern Observatory
23
C Data Management Division
24
C Karl-Schwarzschild-Strasse 2
25
C D 85748 Garching bei Muenchen
27
C===========================================================================
29
C+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
35
C-----------------------------------------------------------------------
36
SUBROUTINE CORPSF(LPXL, LSBP, LL, CPSF, IPSF,
40
INCLUDE 'MID_REL_INCL:INVENT.INC/NOLIST'
45
REAL CPSF((-LPXL):LPXL,(-LPXL):LPXL,(-LSBP):LSBP,
47
INTEGER IPSF((-LSBP):LSBP,(-LSBP):LSBP)
49
REAL BPSF((-LL):LL,(-LL):LL)
50
REAL DPSF((-LL):LL,(-LL):LL)
69
DO 10 L = -LSBP , LSBP
70
DO 20 K = -LSBP , LSBP
73
DO 30 J = -LPXL , LPXL
74
JL = J * (2*LSBP+1) - L
75
DO 40 I = -LPXL , LPXL
76
IK = I * (2*LSBP+1) - K
78
TEMP(II) = CPSF(I,J,K,L,II)
80
IF ( ITMP .GT. 2 ) THEN
81
CALL MODE( TEMP , ITMP , CRMD , BPSF(IK,JL) ,
83
IF ( ITMP .EQ. 3 ) THEN
84
DPSF(IK,JL) = 1.5 * DPSF(IK,JL)
86
ELSE IF ( ITMP .EQ. 2 ) THEN
87
BPSF(IK,JL) = ( TEMP(1) + TEMP(2) ) / 2.0
88
DPSF(IK,JL) = MAX(0.1,ABS(TEMP(1)-TEMP(2)))
89
ELSE IF ( ITMP .EQ. 1 ) THEN
100
AIT = FLOAT(IT) / FLOAT((2*LSBP+1)**2)
101
WRITE( OUTPUT , '(A,A,F7.2)' ) 'Average number of standard stars '
102
& ,'per subpixel =',AIT
103
CALL STTPUT( OUTPUT , ISTAT )