View on GitHub

IRAF Community Distribution

IRAF maintained by the community

Home | Installation | Packages | X11IRAF | PyRAF | Forum

How to hide list-directed hidden parameter in the task?

smp wrote on Aug 03, 2009

Hi,

(1)

I do not want the list directed parameter "imglist" to get displayed whenever I do epar / lpar to my task (a procedure script) named as "new".

                                                              I R A F  
                                                Image Reduction and Analysis Facility
PACKAGE = ccdred
   TASK = new

object_f=     @HD80606b_B_list  Give name of file containing science images
bias_fil=           @bias_list  Give name of the file containing bias images
flat_fil=         @flat_b_list  Give name of file containing flat images
(zeropar=                     ) ZEROCOMBINE parameters
(flatcom=                     ) FLATCOMBINE parameters
(imglist=      tmp$Flats_B328c)
(mode   =                   ql)


The IRAF document says that list directed parameters must be declared in the parameter declaration part of the procedure (i.e. before the begin statement).
i.e. how to hide this "hidden parameter" namely "imglist".

(2)

(imglist=      tmp$Flats_B328c)


What is the meaning of the expression "tmp$Flats_B328c" ?
i.e.
what is tmp?
what is $?
what is Flats_B328c?

Also, the number appearing above (328c) changes, whenever the script is run newly.

In my script, I have following statements:

imgfile = mktemp("tmp$Flats_B")
sections(fl_file, option = "fullname", > imgfile)
imglist = imgfile


Regards
smp

Mike Fitzpatrick wrote on Aug 03, 2009

Unfortunately there's no way to disable showing just a single parameter like this. Anything declared between the 'procedure' and 'begin' in a script is considered a parameter, those declared in the procedure statement are 'query' params all others are 'hidden'. In your login.cl file there's a commented definition of 'epinit' that controls epar behavior; you can uncomment this and change the 'showall' to 'noshowall' and then epar will hide ALL hidden parameters but that's the best you can do.

As for the rest, the 'tmp$' is an iraf logical pathname meaning /tmp (normally), the entire filename comes from the use of mktemp() in your script to create a temp filename by appending some unique chars to a root name you supply. Good scripting practice suggests you delete these temp files from your scripts otherwise they just build up.

-Mike

Last post on Aug 03, 2009