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

20050405: problem using UDUNITS with Fortran code



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