Re: Calling IDL from Fortran called by IDL [message #28247 is a reply to message #28205] |
Tue, 27 November 2001 18:34   |
Craig Markwardt
Messages: 1869 Registered: November 1996
|
Senior Member |
|
|
"Kevin A. Park" <kpark@prism-cs.com> writes:
> Hi,
>
> I have an IDL GUI which sits on top of a calculation engine which
> is written in Fortran 90. Currently IDL accesses the calculation engine
> by calling C wrapper functions via CALL_EXTERNAL. These C wrappers then
> call Fortran routines. The system runs both on Solaris and Windows
> platforms. I am currently using IDL 5.4, but will upgrade to IDL 5.5
> soon.
>
> Some of the calculations in the Fortran take a long time, so what I
> would like to do is have IDL create a progress bar which can be updated
> from the Fortran. Having waded through the IDL External Development
> Guide, I have a few questions.
Kevin! Good to see you alive and kicking. [ In case you don't
remember me I was Ben's roommate. ]
You've gotten some good suggestions from other replies to your
request, and they are worth considering.
Personally I would say that you may be asking too much, to make an
IDL-to-FORTRAN-to-IDL call chain. It must be possible, because
several routines do allow such an operation. Consider
CONSTRAINED_MIN.
You are probably looking into using the internal C functions
IDL_Execute() or IDL_ExecuteStr(), which may be exactly what you are
looking for. What you would do is call these functions from within
your FORTRAN subroutine, with the name of an IDL procedure that would
update the GUI. While these functions are documented under the
"Callable IDL" section, I do not see why these couldn't be used in
your case.
Another possibility is to use IDL to manage a separate process via the
SPAWN command. Under Unix at least, it is possible for the IDL
process to intercept all I/O to a subprocess, so you could have your
FORTRAN routine print status messages which could be used to update
the GUI.
Good luck!
Craig
--
------------------------------------------------------------ --------------
Craig B. Markwardt, Ph.D. EMAIL: craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response
------------------------------------------------------------ --------------
|
|
|