[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
20050405: problem using UDUNITS with Fortran code
- Subject: 20050405: problem using UDUNITS with Fortran code
- Date: Thu, 07 Apr 2005 11:21:31 -0600
Yuanchong,
>Date: Wed, 6 Apr 2005 18:56:43 -0400 (EDT)
>From: Yuanchong Zhang <address@hidden>
>Organization: Columbia University/NASA GISS
>To: address@hidden (Steve Emmerson)
>Subject: Re: 20050405: problem using UDUNITS with Fortran code
> Keywords: 200504051922.j35JM9v2005883
The above message contained the following:
> Since ncdump gives us the unit for any specific data file and
> in most cases, we don't need convert unit of the output values. How
> can I don't use UDUNITS at all (to avoid such unnecessary trouble)?
It is possible to write netCDF applications that do not use the UDUNITS
package -- especially if the application does not need to convert values
between units.
> From your web site, the only Fortran sample program (by Cathy Smith,
> in 1996) has to use UDUNITS, however. Do you have other Fortran sample
> that doesn't invoke UDUNITS?
Sorry, no.
> The unit conversion is really not an
> important issue since we know how to convert, but this UDUNITS package
> actually complicates reading NetCDF data for users.
>
> My machine is IBM AIX 4.3 RS6000, the default is 32-bit
> compilation. I still don't know how to change udunits.inc for our Fortran
> compiler (i.e., new declaration can be invoked by all Fortran main and
> subroutines) while I'm asking our system people to figure out how to
> make C-preprocessor to work properly. Is there any sample for changing
> this inc file for Fortran compiler to use only? Thanks a lot.
The simplest solution for not #include-ing the file "udunits.inc" in
Fortran code is to simply not #include it. You will then have to
explicitly declare the types of the UDUNITS routines that the code
uses.
Because your system is a 32-bit one, you should use an INTEGER to
hold the pointer to the unit structure returned by the UTMAKE routine.
Regards,
Steve Emmerson