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

[netCDF #HVJ-644061]: netCDF for Fortran project



Hi Vitaliy,

> I'm new in netCDF and would be glad if you could help me to start its using.
> 
> In our national research center we are working on the project coded in
> fortran and we use Intel Fortran Compiler v12.0 (Composer XE) for Linux and
> Windows.
> This project needs to read meteo and physical netCDF data and write the
> output in netCDF format too (volumes in TBytes).
> 
> Could you point me out the best way to integrate and use the API to the
> fortran project, please?
> The project is coded in Visual Studio 2010.

It's relatively easy to build the Fortran-90 netCDF library for Linux
and for Windows if you use Cygwin.  Building a Windows Fortran library
using Visual Studio 2010 is difficult and we don't support that
method, for reasons described here:

  http://www.unidata.ucar.edu/netcdf/docs/faq.html#windows_netcdf4_1

However, netCDF user Viet Eitner has contributed a port of 4.1.1 to
Visual Studio, including an F90 port to Intel Fortran, as described at
the end of the response at the URL above. 

> In order to minimize read/write time, must I use C API library and call C
> functions from my Fortran code?

No, you can use the netCDF Fortran-77 or Fortran-90 APIs directly.
They are implemented on top of the netCDF C library, so it must be
built as part of compiling the Fortran library, but your Fortran
programs need not be aware that the Fortran functions they are calling
call the C library to do most of the work.  Also, there is no
noticeable loss in performance from this extra layer, so you should
not worry about efficiency differences between the Fortran and C APIs.

> Have I be limited to classical netCDF 3, to minimize writing to file time ?

For large files, netCDF-4 can have significant performance benefits
over netCDF-3, depending on what you are doing.  The performance
advantages of using netCDF-4 classic model (which uses netCDF-4
storage but the netCDF-3 data model) include compression, chunking,
endianness control, parallel I/O, and efficient schema changes.  The
latest netCDF workshop, available online, covered performance issues

  http://www.unidata.ucar.edu/software/netcdf/workshops/2011/

> I can not use dll, only static library (lib), because the project will be
> recompiled for Linux platform.
> 
> I'd be very grateful if you could indicate me first steps for quick start to
> begin using netCDF.
> Perhaps, is there already similar projects and solutions under Visual Studio
> and Intel Fortran ?

The Viet Eitner contribution, mentioned above, is based on an older
version (netCDF-4.1.1) than our current release (netCDF-4.1.3), but if
you have to use Visual Studio and Intel Fortran it may be your only
choice.  However, we can't help much with Visual Studio questions, as
that's not a supported platform for netCDF with Fortran-90 at this
time.  If you could use Cygwin, then we would recommend either the
latest released version (4.1.3) or the current snapshot of the
development version (netCDF-4.2-beta2).

--Russ

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



Ticket Details
===================
Ticket ID: HVJ-644061
Department: Support netCDF
Priority: Normal
Status: Closed