[daip] Re: Old data
Eric Greisen
egreisen at nrao.edu
Mon Feb 20 17:03:48 EST 2006
Patrick Palmer writes:
> When FILLM creates a database, where does the frequency value come from
> in the image header? I assumed that it was the center frequency for
> the first observation filled.
>
> I wanted to get the actual frequency setting for a specific
> observation, and tried by filling with a time range set. This gave
> exactly the same value as filling the whiole thing. So, maybe I don't
> understand corredctly?
>
> Since in this data I don't trust the reference pixel, and the channel
> spacing is wrong, there are lots of places where things could go
> wrong. But, the offset from the frequency I think it should have is only
> about 3 pixels.
>
> Otherwise do you have any suggestions?
>
The actual code in FILLM follows. The STFREQ = MCSKYF comes directly
from the data and, if it changes too much, a new data set or FQ is
created. The reference pixel (CRP) should be the middle but is
computed from the bandwidth, start channel, and an offset given in the
data.
MCHSEP(1) = 50.0E6 / 2**MCHISP(1)
using a code in the data.
C Frequency axis
JLOCF = STOFFF(IS)
CATBLK(KINAX+JLOCF) = STNOCH(IS)
IR1 = STMCI1(IS)
CATR(KRCRT+JLOCF) = 0.0
C Spectral line
IF (STTYPE(IS).EQ.2) THEN
CATR(KRCIC+JLOCF) = MCHSEP(IR1)
CATD(KDCRV+JLOCF) = STFREQ(IS) * 1.0D9
C
C The following ITEMP definition is incorrect for BW codes 8 and 9. It
C assumes that MCSSLO(IR1) coincides with the frequency of the first
C channel. For BW codes 8 and 9, there is a full total bandwidth offset
C between MCSLLO(IR1) and the frequency of channel 1. Changed by Gustaaf
C van Moorsel, 13-Feb-95, to define first channel to be 0.5*MCBANW away
C from MCSKYF, independent of MCSSLO.
C
C _____________________
C | | | (BW code 1 - 7)
C MCSSLO MCSKYF last
C first channel
C channel
C ___________________________________________
C | | | | (BW code 8 - 9)
C MCSSLO first MCSKYF last
C channel channel
C
C ITEMP = ((ABS (MCSSLO(IR1) - MCSKYF(IR1)) * 1.0D9) /
C * ABS (MCHSEP(IR1))) + 0.5
ITEMP = MCBANW(IR1)/2.0 / ABS (MCHSEP(IR1)) + 0.5
CATR(KRCRP+JLOCF) = ITEMP - (MCCHOF(IR1) + STBCH(IS) - 1)
C Continuum
ELSE
CATD(KDCRV+JLOCF) = STFREQ(IS) * 1.0D9
CATR(KRCIC+JLOCF) = MCBANW(IR1)
CATR(KRCRP+JLOCF) = 1.0
C Channel 0
IF (STTYPE(IS).EQ.1) THEN
IR1 = STMCI1(IS+1)
NFR = STNOCH(IS+1)
FR1 = (NFR+1) / 8 + 1
FR2 = NFR - ((NFR+1)/8)
CATR(KRCIC+JLOCF) = (FR2 - FR1 + 1) * MCHSEP(IR1)
END IF
END IF
i DON'T REALLY KNOW WHAT WOULD BE CORRECT FOR YOUR DATA.
Eric Greisen
More information about the Daip
mailing list