[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fortran




In article <ojXO2.50044$qt5.6315@news.rdc2.occa.home.com> 
"H T Onishi" <htonishi@home.com> writes:

> I'm just starting a project that requires developing a GUI for
> a large FORTRAN code.  Work will be done on a PC.  We are
> considering IDL, however, there is a "Just Say No" warning in
> one of the IDL reference books.  Developing a C wrapper is
> formidable because the FORTRAN code is formidable.  Has anyone
> successfully linked IDL and FORTRAN?  Any suggestions (such as
> avoid at all costs)?  Any comparisons with Visual Basic?

I don't see why writing C wrappers should be such a big job
just because the FORTRAN code is large -- it just depends on
how many "entry points" you need to have from your GUI to your
FORTRAN code. If you do the type checking etc in IDL, writing C
wrappers can be done almost automatically. (And using the
utilities available in callable IDL, doing the type
checking/conversion in C is almost as easy).

True, there is a bit of a threshold when you first start to
make call_external/linkimage/dlm code, but if it's a big
project, the initial time spent learning the game will be small
compared to the rest of the project.

Anyway, I would rate the job of writig C wrappers as
significantly smaller than the job of writing the GUI in the
first place (although this does not take into account writing
the FORTRAN "entry point" routines, if they need to be written,
and are complex).

I don't have any experience with Visual Basic, but if your GUI
is going to display data from the FORTRAN code, I'd say you're
probably better off with IDL - I don't believe VB could have
any large benefits over IDL wrt. ease of use for writing GUIs
that could possibly outweigh IDL's data display capability..

Of course, this all depends on your (and other programmers')
previous experience with VB versus IDL, as well.

And yes - I have linked in 3rd party FORTRAN routines as DLMs
by writing C wrappers. FORTRAN routines for calculating angular
size distances from redshifts given arbitrary cosmological
parameters is now a seamless part of IDL here (just like system
functions).

Best of luck

Stein Vidar