>  Docs Center  >  Libraries  >  ASTROLIB  >  FORPRINT
Libraries

FORPRINT

FORPRINT

Name


      FORPRINT

Purpose


      Print a set of vectors by looping over each index value.

Explanation


      If W and F are equal length vectors, then the statement
              IDL> forprint, w, f
      is equivalent to
              IDL> for i = 0L, N_elements(w)-1 do print,w[i],f[i]

Calling Sequence


      forprint, v1,[ v2, v3, v4,....v18, FORMAT = , TEXTOUT = ,STARTLINE =,
                                  SUBSET=, NUMLINE =, /SILENT, COMMENT= ]

Inputs


      V1,V2,...V18 - Arbitary IDL vectors. If the vectors are not of
              equal length then the number of rows printed will be equal
              to the length of the smallest vector. Up to 18 vectors
              can be supplied.

Optional Keyword Inputs



      TEXTOUT - Controls print output device, defaults to !TEXTOUT
              textout=1 TERMINAL using /more option if available
              textout=2 TERMINAL without /more option
              textout=3 file 'forprint.prt'
              textout=4 file 'laser.tmp'
              textout=5 user must open file
              textout = filename (default extension of .prt)
              textout=7 Append to <program>.prt file if it exists
      COMMENT - String scalar or vector to write to the first line of output
                file if TEXTOUT > 2. By default, FORPRINT will write a time
                stamp on the first line. Use /NOCOMMENT if you don't want
                FORPRINT to write anything in the output file. If COMMENT
                is a vector then one line will be written for each element.
      FORMAT - Scalar format string as in the PRINT procedure. The use
              of outer parenthesis is optional. Ex. - format="(F10.3,I7)"
              This program will automatically remove a leading "$" from
              incoming format statements. Ex. - "$(I4)" would become "(I4)".
              If omitted, then IDL default formats are used.
      /NOCOMMENT - Set this keyword if you don't want any comment line
              line written as the first line in a harcopy output file.
      /SILENT - Normally, with a hardcopy output (TEXTOUT > 2), FORPRINT will
                print an informational message. If the SILENT keyword
              is set and non-zero, then this message is suppressed.
      SUBSET - Index vector specifying elements to print. No error checking
              is done to make sure the indicies are valid. The statement
              IDL> forprint,x,y,z,subset=s
                      is equivalent to
              IDL> for i=0,n-1 do print, x[s[i]], y[s[i]], z[s[i]]
      STARTLINE - Integer scalar specifying the first line in the arrays
              to print. Default is STARTLINE = 1, i.e. start at the
              beginning of the arrays. (If a SUBSET keyword is supplied
              then STARTLINE refers to first element in the subscript vector.)
      /STDOUT - If set, the force standard output unit (=-1) if not writing
              to a file. This allows the FORPINT output to be captured
              in a journal file. Only needed for non-GUI terminals
      WIDTH - Line width for wrapping, passed onto OPENW when using hardcopy.

Outputs


      None

System Variables


      If keyword TEXTOUT is not used, the default is the nonstandard
      keyword !TEXTOUT. If you want to use FORPRINT to write more than
      once to the same file, or use a different file name then set
      TEXTOUT=5, and open and close then file yourself (see documentation
      of TEXTOPEN for more info).
     
      One way to add the non-standard system variables !TEXTOUT and !TEXTUNIT
      is to use the procedure ASTROLIB

Example


      Suppose W,F, and E are the wavelength, flux, and epsilon vectors for
      a spectrum. Print these values to a file 'output.dat' in a nice
      format.
      IDL> fmt = '(F10.3,1PE12.2,I7)'
      IDL> forprint, F = fmt, w, f, e, TEXT = 'output.dat'

Procedures Called


      TEXTOPEN, TEXTCLOSE

Revision History


      Written W. Landsman April, 1989
      Keywords textout and format added, J. Isensee, July, 1990
      Made use of parenthesis in FORMAT optional W. Landsman May 1992
      Added STARTLINE keyword W. Landsman November 1992
      Set up so can handle 18 input vectors. J. Isensee, HSTX Corp. July 1993
      Handle string value of TEXTOUT W. Landsman, HSTX September 1993
      Added NUMLINE keyword W. Landsman, HSTX February 1996
      Added SILENT keyword W. Landsman, RSTX, April 1998
      Much faster printing to a file W. Landsman, RITSS, August, 2001
      Use SIZE(/TNAME) instead of DATATYPE() W. Landsman SSAI October 2001
      Fix skipping of first line bug introduced Aug 2001 W. Landsman Nov2001
      Added /NOCOMMENT keyword, the SILENT keyword now controls only
      the display of informational messages. W. Landsman June 2002
      Skip PRINTF if IDL in demo mode W. Landsman October 2004
      Assume since V5.4 use BREAK instead of GOTO W. Landsman April 2006
      Add SUBSET keyword, warning if different size vectors passed.
                                    P.Broos,W.Landsman. Aug 2006
      Change keyword_set() to N_elements W. Landsman Oct 2006
      Added /STDOUT keyword W. Landsman Oct 2006
      Fix error message for undefined variable W. Landsman April 2007
      Added WIDTH keyword J. Bailin Nov 2010
      Allow multiple (vector) comment lines W. Landsman April 2011



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us