This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
David, I don't have ifort to test against, but wondered if you needed to explicitly declare your variables to be REAL or REAL*4 (eg, is there some sort of default to real*8 in ifort for implicits?). The type return of the function is implicit as well which may be bad. Eg, PR_SPED is assumed to be a "real" in the function, so it might have to be declared as such by the program too. The 5.10.x releases have specific type casts for these PR_ functions for calling from C routines in 64 bits for just such problems using protp_gemlib.h /* PR library */ #ifdef G_64BIT double pr_hgmf ( float *hght ); double pr_mskn ( float *sped ); double pr_tmkc ( float *tmpk ); double pr_hgfm ( float* ); double pr_knms ( float* ); double pr_knmh ( float* ); double pr_reli ( const float*, const float* ); #else Let me know.... Steve On Tue, 2007-04-24 at 22:16 -0700, David Ovens wrote: > Gembuds, > > I guess this must be an 'ifort' problem because I just figured out how > to compile this on 64-bit machines with 'g77' and it works! > g77 -fno-second-underscore test.f $GEMLIB/gemlib.a;a.out > spd = 6.40312433 > > Still, can anyone get 'ifort' to work on this code on a 64-bit Linux > box? > > David -- Steve Chiswell <address@hidden> Unidata