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

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



Vitaliy,

> Could you give me the e-mail of Viet Eitner, please?

(Just FYI, I spelled his first name wrong in the last email, it's actually
"Veit".)

I will forward your email to him, but we can't give out email addresses
of contributors who haven't explicitly authorized us to make their email
addresses available for support questions.

> I tried to compile netCDF under VS2010 and Intel Composer XE, it does not
> compile

Note that Veit Eitner's solution only works for version 4.1.1, not for later
versions.  Is that the version you were trying?

> If it is possible to use already pre-compiled netcdf.lib library in an
> Windows Intel Fortran project,
> what is the fastest way to do it ?

We don't have pre-compiled libraries for Windows that include the Fortran API,
because we don't have the resources to build the many versions of libraries
required for different Fortran compilers and different combinations of build
options.

We are currently corresponding with a group in Australia that has put in a lot 
of effort into improving the build process of NetCDF for Windows using 
MSYS/MinGW 
(http://www.mingw.org/), which comeswith all the unix build time tools (make, 
gcc, 
autoconf, automake, etc.) that we use.  They will soon be making this available
to the netCDF developer community, which may help make precompiled libraries for
Windows more available.  Their approach, despite using the gcc compiler, results
in libraries that can still be used by Visual Studios developers.  However, they
haven't said that they're working on providing Fortran libraries.

If you want to follow the progress of that work, it's available at

  https://github.com/jystic/netcdf-win

> I did not find netcdf.inc file as explained in installation and porting
> guide
> but netcdf2.inc, netcdf3.inc,netcdf4.inc files
> 
> Have I to choose one of these files according to the desired version of
> netcdf format ?

I don't recognize those file names, so I expect they are only in Veit Eitner's
version.

> What is the difference between netcdf.lib and netcdf_f90.lib ?
> if I use netcdf in a fortran project I have to reference the both libraries,
> is not it ?

Currently the Fortran-90 API is built on top of the Fortran-77 API, so the
latter library is required.  Also the Fortran-77 library is just a thin layer
the C library, so that is also required.

--Russ

> address@hidden> wrote:
> 
> > Russ, Thank you so much for your explanations!
> >
> >
> > -----Original Message-----
> > From: Unidata netCDF Support [mailto:address@hidden]
> > Sent: jeudi 1 septembre 2011 18:34
> > To: address@hidden
> > Cc: address@hidden
> > Subject: [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
> >
> >
> >
> 
> 

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