idl routines to look at dewar temps

Last modified: Thu Mar 16 13:07:05 2023.


List of Routines


Routine Descriptions

DWTEMPALL - INPUT ASCII DATA FROM RMALL ROUTINE.

[Next Routine] [List of Routines]
NAME:
dwtempall - input ascii data from rmall routine.
SYNTAX: nrecs=dwtempall(lun,d,maxrec=maxrec)
ARGS:
   lun :   int file containing data to read
KEYWORDS:
   maxrec: long  max number of recs to read in. def 10000.
RETURNS:
   nrecs : long    number of records input.
   d[nrecs]:{dwtempall} data input from file
DESCRIPTION:
   rmall rcvnum will query all of the info from the receiver monitoring
package online. This info can be recorded to disc. dwtempall() will input
and parse this ascii data. Before calling this routine you should call
@dwinit

EXAMPLE:
   suppose the data has been written to rmtemp.dat.
@dwinit 
   openr,lun,'rmtemp.dat',/get_lun
   nrecs=dwtempall(lun,d)
   free_lun,lun
help,d,/st
** Structure RMALL, 14 tags, length=108:
   TM              LONG             41510
   VOLTS           FLOAT     Array[2, 4]
   CUR             FLOAT     Array[2, 4]
   TEMP16K         FLOAT           14.3800
   TEMP70K         FLOAT           85.7600
   TEMPOMT         FLOAT           97.5200
   LEDHEMTA        INT              0
   LEDHEMTB        INT              0
    DWP15           FLOAT           15.1800
  DWN15           FLOAT          -15.3000
   POSTAMPP15      FLOAT           15.0000
   LKSHOREDISP     INT              1
   POSTAMPCURA     FLOAT           1000.00
   POSTAMPCURB     FLOAT           1000.00

(See /pkg/rsi/local/libao/phil/dwtemp/dwtempall.pro)


DWTEMPINP - INPUT DEWAR TEMPS FOR A YEAR

[Previous Routine] [Next Routine] [List of Routines]
NAME:
dwtempinp - input dewar temps for a year
SYNTAX: stat=dwtempinp(d,year=year,rcv=rcv)
ARGS:   none
KEYWORDS:
   year    : int   4 digit year to input. default current year
                   year='' will also input current year..
   rcv     : string rcvname if supplied then just return this receiver
                    rcvr names are:
                   '430','lbw','lbn','sbw','sbn','sbh','cb','xb' 
RETURNS:
   d[] : {dwtemp}  dwtemp struct
                   .nm string name 430,lbw,lbn,sbw,sbn,cb,xb,sbh
                   .day double daynum of year (including fractional part) 
                   .year    int  year (4 digits)
                   .temp[3] float the 3 temps. 16,70,omt
   stat: number of total entries found (dimension of returned d)
DESCRIPTION:
   Input  dewar temperatures for the year.This is the data recorded by
the rmtempall routine that is run a few times a day by the operators.

EXAMPLES:
   To start idl:
   idl
   @phil
   @dwinit
   then 
   print,dwtempinp(d)           .. input all the data for current year
   print,dwtempinp(d,rcv='lbw') .. input current year lband wide only
   print,dwtempinp(d,year=2001,rcv='lbn') .. input lbn for year 2001

SEE ALSO:
dwtempplot - to plot the data

(See /pkg/rsi/local/libao/phil/dwtemp/dwtempinp.pro)


DWTEMPPLOT - PLOT DEWAR TEMPERATURES.

[Previous Routine] [List of Routines]
NAME:
dwtempplot - plot dewar temperatures.
SYNTAX: dwtempplot(d,temp=temp,rcv=rcv,over=over,sym=sym,color=col,$
                          mrcv=mrcv,ln=ln,adate=adate,drange=drange,$
                          mframe=mframe)
ARGS:   
   d[]:{dwtemp} array of data input via dwtempinp
KEYWORDS:
   temp    : int    temperature to plot:
                    0 16  deg stage (default)
                    1 70  deg stage
                    2 omt deg stage
   rcv[]   : string or strarray.. rcvnames to plot. If supplied, then only
                    plot these receivers..
                    the default is to plot all of the receivers.
                    rcvr names are:
                   '430','lbw','lbn','sbw','sbn','sbh','cb','xb' 
                   This assumes that more than one receiver was input with
                   dwtempinp.
   over    : int   if set then overplot rather than start a new plot
   sym     : int   1,2,3 .. plot a symbol at each measured position.
                   1 +, 2 *, 3 . , Negative number -1,-2,-3 will plot 
                   the symbol and the connecting lines.
  color    : int   if provided then plot the current data set in color
                   col. (1-white, 2-red, 3-green,4-blue,5-yellow...
  mrcv     : int   if set, over plot all recievers using different colors.
  ln       : int   line number of labels of mrcv 3..33
  adate    : int   if set then plot using alphanumeric dates: ddMMMyy
  drange[2]: float daynum range of year to plot
  mframe   : int   if set then use a multiframes. 1 frame per receiver.

DESCRIPTION:
   Plot the receiver dewar temperature data versus day of year. The data 
must be first input with dwtempinp. By default it will plot the 16 degree 
stage. You can plot the temperatures versus daynumber of the year 
(default) or versus an ascii date ddMonyy. 

   The axis can be scaled using hor,min,max and ver,min,max (these are two
idl functions). Entering hor or ver without any arguements will autoscale to
the min,max.

   The adate keyword plots the x axis in a more human readable form
ddMonyy. To plot a subrange of the data with this format, hor,min,max
will not work (since the x data gets converted to julian date). Use the
drange[day1st,daylast] keyword to limit the day range in this case.

   By default all receivers are plotted (adjacent in time). To plot
all receivers with a different color, use /mrcv keyword. The rcv keyword
lets you overplot a subset of receivers (each in a  different color).

   When using the adate keyword, the tickmark end up being spaced by
some reasonable number of days (5,10,20..etc).

   The mframe keyword will plot 1 receivers in different frames all in
white. This is handy if you are making hardcopy and you don't have a 
color printer.

   Making hardcopy requires that you set the destination of the output to
a postscript file before you call the routine.
   pscol,'filename.ps'
   dwtemplot,d,/mrcv
   hardcopy
   x
The data will then be in the postscript file filename.ps.

   If you used the /mframe keyword, then you don't need color postscript,
but you will probably want to use the entire page for plotting:
   ps,'filename.ps',/full
   dwtemplot,d,/mrcv,/mframe
   hardcopy
   x

EXAMPLES:
   To start idl:
   idl
   @phil
   @dwinit
   To exit idl:
   exit
   ... 
dwtempinp,d                       .. input all data current year
hor
ver,0,50                          .. vertical scale 0 to 50 K
dwtempplot,d                      .. plot all receivers 16 deg stage
dwtemplot,d,rcv='lbw'             .. plot lbw 16 deg stage
dwtemplot,d,rcv=['lbw','lbn'],/adate .. plot lbw,lbn use, ascii dates
dwtemplot,d,/mrcv,temp=1          .. plot all rcvrs,  70 deg stage
hor,30,80
dwtemplot,d,rcv=['lbw','lbn','cb'].. plot lbw,lbn, day 30 through 80
hor
dwtemplot,d,rcv='xb',drange=[30,80],/adate. plot xb days 30-80 in ascii date

(See /pkg/rsi/local/libao/phil/dwtemp/dwtempplot.pro)