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.
> To: address@hidden > From: address@hidden (Mary Haley) > Subject: netCDF on SGI R10000 systems > Organization: NCAR/SCD > Keywords: 199611052119.AA16593 netCDF SGI R10000 > > Hi there, > > Dick Valent and I are getting ready to build several libraries on a > new SGI R10000 challenger that's coming in, and we're trying to decide > what kind of options we should be using to build these libraries. > NetCDF is one of the libraries, and that's why I'm writing you. > > Namely, what we are concerned with is using the -r8 and -i8 options > with the Fortran compiler to get 8-byte reals and integers. I'm > wondering if this will be a problem when linking with the netCDF > library. I realize this library is written in C, so my concern is > with calling the Fortran NetCDF bindings, passing them 8-byte reals > and integers, and then the Fortran bindings in turn passing these onto > the C routines. > > Does this make sense? Do you know if I will run into problems with > this? > > Another question I have is if you've ever gotten requests from > scientists to build NetCDF with options like these. We are trying to > determine what the best set of options will be to use. > > Thanks in advance for any input you can give me! > > Mary Haley > address@hidden Mary: My R8000 sgi supports these options as well. I don't see any reason to use them _unless_ the programmer made some assumptions of 64 bit INTEGER and/or 64 bit REAL in her program. This might well be the case for cray code. Otherwise, the sgi programmer can document her assumptions by the appropriate (not necessarily portable) declarations, INTEGER*8 and so on. I believe the fortran jackets will work, or can be made to work, properly with these flags in use, _but_, all programs linked using this version of jackets.o would be have to use the same flags. If you are considering this, I might recommend building the netcdf library as a 'C' only version, and building two versions of jackets.o. Then, fortran programmers on the system would link like this: f77 mycode.o path/jackets.o -Lpath -lnetcdf -o myprog or f77 mycode.o path/jackets8.o -Lpath -lnetcdf -o myprog where 'path' is the path to your library install point and jackets8.o is your special version. In summary, I think what you suggest is doable, but probably not something you want to do except when the work of doing it is outweighed by the work of getting around some assumptions in the user fortran code. Hope this helps. -glenn