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

Re: 20050308:netCDF Fortran (77 + 90) - F77 to read netcdf



>To: address@hidden
>From: "degui" <address@hidden>
>Subject: netCDF Fortran (77 + 90) - F77 to read netcdf
>Organization: UCAR/Unidata
>Keywords: 200503081918.j28JIEM7012392

Hi Degui,

>    Do you have a sample code of Fortran to read netcdf file?

I'm not sure whether you're interested in Fortran-77 or Fortran-90
code.  Although the netCDF Fortran Users Guides:

  http://my.unidata.ucar.edu/content/software/netcdf/docs/netcdf-f77.html
  http://my.unidata.ucar.edu/content/software/netcdf/docs/netcdf-f90.html

include example code fragments for every netCDF function call,
complete self-contained example programs are sometimes more useful.  A
program general enough to read an arbitrary netCDF file (any
dimensions, variables, and attributes) is relatively complex, so
doesn't make a good example to learn from.

There are some relatively good primers available such as "A first time
primer for reading netCDF files":

  http://www.nodc.noaa.gov/woce_V2/disk10/html/ncprimer.htm

and "Modeler's Introduction to NetCDF":

  http://hemulen.uchicago.edu/~tobis/ideas/ncdfx.html

Consider a simple netCDF file that looks like this (using "CDL" to
show the names, types, and shapes of variables, their attributes, and
values):

  http://www.unidata.ucar.edu/packages/netcdf/examples/read1.cdl

I've just whipped up a small Fortran-90 example for reading data from
the above file:

  http://www.unidata.ucar.edu/packages/netcdf/examples/read1.f90

The corresponding netCDF file to read is:

  http://www.unidata.ucar.edu/packages/netcdf/examples/read1.nc

You can generate netCDF example programs that write files using the
"ncgen" utility and CDL files.  For example, invoking

  ncgen -f read1.cdl

will generate, on stdout, a Fortran-77 program that creates the
read1.nc file above.  Similarly, "ncgen -c" generates a C program and
"ncgen -b" generates a binary netCDF file corresponding to a specified
CDL file.

Someday we hope to have more complete example programs for all the
various netCDF interfaces ...

--Russ

_____________________________________________________________________

Russ Rew                                         UCAR Unidata Program
address@hidden          http://www.unidata.ucar.edu/staff/russ