IDL FAQ: alpha version [message #936] |
Wed, 10 March 1993 11:37 |
pat
Messages: 25 Registered: June 1992
|
Junior Member |
|
|
Contained below is the first version of the Interactive Data
Language Frequently Asked Questions List, hereafter to be known as
the IDL FAQ. As this is the alpha version so there are bound to be
mistakes and omissions.
Many thanks to all who have responded with questions and answers
for the FAQ. I have tried to credit everyone who contributed. Some
responses I received, however, were collections of previous mailings
and articles. If comments you authored are included below but you are
not credited as such, please let me know.
I am still soliciting questions to be included in the FAQ.
I would like to add a *lot* more technical questions. Also, the
format for the list is still in flux. There does not seem to be a
"standard" format for FAQ's. I know that there is some kind of funky
format one can use to make it easier to view in Emacs. If anyone
understands this format, please contact me.
This list deals primarily with IDL. I'm looking for a volunteer to
write a PV-WAVE FAQ.
Comments, corrections, additions, fan mail can be sent to
pat@jaameri.gsfc.nasa.gov. A copy of the FAQ will be at
jaameri.gsfc.nasa.gov [128.183.88.75] in pub/idl/idl-faq.
------------------------------------------------------------ -----------
Archive-name:
Version: $Header: /home/pat/News/faq/RCS/idl-faq,v 0.2 1993/03/10 13:43:32 pat Exp pat $
A Note from the editor about PV-WAVE:
I do not have any direct experience with PV-WAVE. As such, I will
try to minimize comments which appear to favor one package or the other.
I will, however, welcome concise descriptions of technical and functional
differences between the two packages.
============================================================
GENERAL:
Part of the general information below is condensed from the README
file for IDL located at rsinc.com:/pub/idl/README. Quotes below
specified as "from the README" refer to this file.
[G1] What is IDL?
IDL is the Interactive Data Language. It is is a product
of Research Systems, Inc. (RSI).
From the README:
{begin quote}
IDL, Interactive Data analysis Language, is a
complete package for the interactive reduction, analysis,
and visualization of scientific data and images. Optimized
for the workstation environment, IDL integrates a responsive
array oriented language with numerous data analysis methods
and an extensive variety of two and three dimensional
displays into a powerful tool for researchers.
IDL supports an extensive data import capability,
publication quality hard copy output, and user-defined Motif
graphical user interfaces.
Users can create complex visualizations in hours
instead of weeks with the aid of IDL's high level capabilities
and interactive environment.
IDL is useful in physics, astronomy, image and
signal processing, mapping, medical imaging, statistics,
and other technical disciplines requiring visualization of
large amounts of data.
{end quote}
Here is a little history of RSI:
Quoting David Edelsohn <edelsohn@npac.syr.edu>:
{begin quote}
IDL is a product of Research Systems, Inc., founded in 1977
by David Stern. The origins of IDL were developed at the Laboratory
for Atmospheric and Space Physics (LASP) at the University
of Colorado. David was one of the people involved in efforts to
make computers easier to use for the physicists at the Lab.
The first program in the evolutionary chain to IDL was named Rufus
(named after Dave's dog). Rufus was a very simple vector oriented
calculator that ran on the PDP-12. It accepted 2 letter codes that
specified (1) An arithmetic operation (2) The input registers to
serve as operands, and (3) the destination register. The next version
was the Mars Mariner Spectrum Editor (MMED) which was a version
of Rufus that ran on the PDP-8.
The next program in this line was named SOL, and it also ran on
the PDP-8. Unlike its predecessors, SOL was a real computer language
with a real syntax (no more 2 letter codes). It was an APL influenced
array oriented language with some primitive graphics capabilities.
The resemblance to IDL was there, but very faintly.
In 1977, Dave left LASP to start Research Systems Inc. (RSI) with the
intention of building on the ideas contained in SOL. The initial
result of this endeavor was PDP-11 IDL, which was much more capable than
SOL. Graphics was usually done on Tektronix terminals and outboard
raster graphics displays. I used this version at LASP in 1981 on a
PDP11/34 under RSX-11M in 1981 (I worked as a student at LASP from
1981 to 1987). I didn't use it for very long though,
because 1981 was the year that Dave released the VAX/VMS version of
IDL. This version, which was written in VAX-11 MACRO and FORTRAN,
took advantage of the VAX virtual memory and 32-bit address space,
and was a huge step beyond the PDP-11 version. It used essentially
the same sort of graphics hardware as the PDP-11.
In 1987, Dave decided that Unix workstations were the direction in
which IDL should progress, but porting the current VAX IDL to Unix
didn't make much sense because of its MACRO and FORTRAN implementation.
I had just finished my Masters degree and was looking for work.
Dave hired me and together we wrote the current version of IDL for
Unix on the Sun 3 taking advantage of the re-write to extend and
improve the language. Since then, we've ported it to many Unix
machines as well as moving it back to VMS. We have more employees
now, but we're still developing and extending IDL as our sole product.
{end quote}
[G2] Where can I contact them?
Their address is:
Research Systems, Inc.
777 29th Street, Suite 300
Boulder, CO 80303
(303) 786-9900 (Voice)
Email:
info@rsinc.com or support@rsinc.com # Internet
ORION::IDL # SPAN
IDL@COLOLASP # Bitnet
[G3] How do I get IDL?
RSI's distribution scheme is unique in that all of the
binaries and IDL one needs are available via anonymous ftp.
IDL binaries and code are available at these sites:
gateway.rsinc.com (192.5.156.17)
pub/idl
boulder.colorado.edu (128.138.240.1)
pub/idl
lumpi.informatik.uni-dortmund.de (129.217.36.140)
pub/idl
ftp.sma.ch (141.249.3.33)
pub/idl
The README file describes which files are needed, how to unpack
them, and how to install them.
If you install IDL without a valid license, you will
get IDL's 7 minute demo mode. This mode is designed for users
who are considering buying the package.
To actually get IDL running for good, you must pay for
a license from IDL and follow their instructions. You will be
asked to fill out a form with information unique to your
machine. IDL will create a license key which the license
manager program (lmgrd) reads to validate your license.
For more details, contact RSI.
[G4] What is the current version of IDL?
Version 3.0.0 is the current version. The next release
is expected around May, 1993.
[G5] On what systems does IDL run?
The information below is from the file RELEASE_LEVEL
located at rsinc.com:/pub/idl/RELEASE_LEVEL:
This release supports the following systems:
- Convex C2 and C3: ConvexOS 10.0.5.
- Data General Aviion: DG/UX 5.4.1 and later
- HP 9000: HP-UX 8.0 on Series 300, 400 and 700.
- IBM 6000: AIX 3.2.
- MIPS: Risc/OS 4.52B.
- Risc Ultrix: Ultrix 4.2.
- SGI: IRIX 4.0
- Sun 3: SunOS 4.1.0. Widgets are built using OpenWindows 2.0.
- Sun 4 (sparc): SunOS 4.1.0. Widgets are built using
OpenWindows 3.0.
- VAX/VMS: The standard release which does not include widgets
requires VMS 5.1 or later. The version including widgets requires
VMS 5.4.
- DOS based personal computers running Microsoft Windows 3.1
The following hardware/operating system combinations are no longer
supported. The last release of these versions have been archived, and no
future development for them will be done:
- Sun 3 running SunOS 3.5 (last release: 2.0.4).
- Sun 386i running SunOS 4.0.1 (last release: 2.0.4).
- Sun 3 and Sun 4 running SunOS 4.0 (last release: 2.2.1)
- HP 9000 series 300 and 400 running HP-UX 7.0
(last release: 2.2.2)
- VAX Ultrix (last release: 2.2.2)
[G6] What is PV-WAVE and how is it related to IDL?
Anyone who reads this newsgroup regularly should know the answer to
this. Around the time that the Unix version of IDL first became
available (1988), Precision Visuals Inc. (PVI) entered into an agreement
with RSI under which they enhanced and resold IDL under the name
PV~WAVE. In September of last year, they exercised an option
in that agreement that resulted in the following:
- They received a copy of the IDL source code as it existed
in September 1990 in return for a one time payment to RSI.
- The connection between RSI and PVI was severed. [RSI does
not] give them code updates, enhancements, or bug fixes of any
kind, and they do their own support and development.
IDL and PV~WAVE are now on separate development tracks.
[G7] Are there anonymous FTP sites for IDL?
The sites below contain public domain IDL code. They
do *not* necessarily have the IDL base distribution.
fermi.jhuapl.edu [128.244.147.14]
/idl-pvwave/jhuapl
idlastro.gsfc.nasa.gov [128.183.57.82]
/
[G8] How can I get help?
RSI has excellent telephone support. You can contact them at:
(303) 786-9900 (Voice)
(303) 786-9909 (Fax)
Email:
info@rsinc.com or support@rsinc.com # Internet
ORION::IDL # SPAN
IDL@COLOLASP # Bitnet
Keep in mind, however, that their phone support is primarily for
their paying customers.
[G9] Why are there two newsgroups for IDL?
Unfortunately, there are two very different packages
with the abbreviation "IDL". The newsgroup comp.lang.idl
is for the Interface Description Language. The newsgroup
for discussing issues related to RSI's IDL and PV-WAVE is
comp.lang.idl-pvwave.
============================================================
TECHNICAL QUESTIONS:
[T1] Why doesn't polycontour fill open contours?
This problem is described in the POLYCONTOUR manual page.
{begin quote}
RESTRICTIONS:
This routine will NOT draw open contours. To eliminate open
contours in your dataset, surround the original array with a 1-element
border on all sides. The border should be set to a value less than
or equal to the minimum data array value.
For example, if A is an (N,M) array enter:
B = REPLICATE(MIN(A), N+2, M+2) ;Make background
B(1,1) = A ;Insert original data
CONTOUR, B, PATH=Filename ... ;Create the contour file.
{end quote}
Sources at RSI tell me that efforts to fix this problem have
been given a high priority. In the next release, expect a new
parameter to CONTOUR which will automatically draw filled
contours, closed and open.
[T2] How do I increase the number of commands stored in the
history buffer?
The system variable !EDIT_INPUT controls command recall. By
default, it is set to 1, causing the last 20 commands to be saved. If it
is 0, no commands are saved. To save more than 20 commands, just put
!EDIT_INPUT=50 (or other large number) in your startup file.
[T3] How do I get IDL to call routines in language X, running
under system Y?
[this question still under construction]
[T4] Why does XPALETTE edit my color table incorrectly?
[this question still under construction]
[T5] Is there on-line help for IDL?
Try ?.
[T6] I run IDL under X in SunOS 4.x, and after I logout, the screen
becomes completely blank. Typing in login names and passwords 'blindly'
logs you in again with the 'correct' colors. How to prevent this?
Add the following to your .Xdefaults:
Idl*colors: -5
which reserves some colors for the colormap so that IDL does not exhaust
all the available colors. (For a nice summary of Sun IDL interactions
with OpenWindows, see $IDL_DIR/notes/openwin3.doc)
[T7] Sometimes my variables seem to disappear. Why is this?
Quoting the IDL User's Guide, page 10-8:
{begin quote}
IDL users may find that all their variables have seemingly disappeared
after an error occurs inside a procedure or function. The misunderstood
subtlety is that after the error occurs, IDL's context is inside the called
procedure, not in the main level. Typing RETALL or RETURN will make the
lost variables reappear.
RETALL is best suited for use when an error is detected in a procedure and
it is desired to return immediately to the main program level despite
nested procedure calls. RETALL issues RETURN commands until the main
program level is reached.
The HELP command can be used to see the current call stack (i.e., which
program unit IDL is in and which program unit called it).
{end quote}
[T8] Is there a major mode for editing IDL code in Emacs?
To the best of my knowledge, no. IDL has a FORTRAN-like syntax
which is difficult to parse. I have a crude version which does not work
very well. The problem is writing the calculate-idl-indent function which
does the parsing. Elisp gurus are welcome to take a look at it.
============================================================
Disclaimer:
I do not work for RSI and I am in no way answerable to them.
Questions and answers in this document are culled from
the user community. No warranty, express or implied exists
regarding this document. Permission to copy all or part
of this work is granted, provided that the copies are not
made or distributed for resale.
This file can always be found at jaameri.gsfc.nasa.gov [128.183.88.75]
in pub/idl/idl-faq.
Additions and corrections should be sent to:
pat@jaameri.gsfc.nasa.gov (patrick m. ryan)
-----
Many thanks to the following for their help with this document.
fireman@iuegtc.DNET.NASA.GOV (Gwyn Fireman)
jdlb@kukui.IFA.Hawaii.Edu (JF Pitot de La Beaujardiere)
black@breeze.rsre.mod.uk (John Black)
edelsohn@npac.syr.edu (David Edelsohn)
kashyap@oddjob.uchicago.edu (Vinay Kashyap)
--
patrick m. ryan
nasa / goddard space flight center / oceans and ice branch / hughes stx
pat@jaameri.gsfc.nasa.gov / zmpmr@charney.gsfc.nasa.gov
|
|
|