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

[netCDF #PXE-716414]: netcdf fortran90 windows implementation



Hi Veit,

> much more work than I thought first - even the file
> "netcdf_expanded.f90" has to be modified.
> But nethertheless I was able to run the two serial tests (little problem
> with 0-terminated strings). Now I'm hanging at the "reordering" of
> "dimensions" and "shapes" (array(i,j,k)->array(k,j,i)).
> 
> But unfortunately I've to fix some bugs in my app and have to stop at
> this point until later this month/year.
> 
> Attached you will find the things I've done so far (I started with
> version 4.0.1 - no difference in the fortran files to 4.1.1 - because of
> the "visual studio solution files").

Thanks for your efforts!  If asked, we may make what you've done so far 
available,
in case it would assist another developer.

> PS:
> Is there a "cvs-tree" available for public to get/put the latest
> development sources?

There is now an svn tree:

  http://svn.unidata.ucar.edu/repos/netcdf/trunk/

Will that do?

--Russ

> On Wed, 2010-06-02 at 17:01 -0600, Unidata netCDF Support wrote:
> > > Dear support,
> > >
> > > because being stupid, I've started to write the Fortran90 interface
> > > declarations for the windows version (intel fortran 11.1 compiler).
> > > There are still about 100 functions (out of about 300) to interface and
> > > I'm wondering if it is worth the effort (because all the test stuff has
> > > to be done as well) and ask therefore if someone else has finished this
> > > awesome task already.
> >
> > No sorry, as far as we know, no one else has done this, except maybe the
> > GLIMMER project, as described here:
> >
> >   
> > http://wiki.nesc.ac.uk/glimmer-project/glimmer-project8dc7.html?InstallWindows
> >
> > We usually recommend using cygwin and gfortran to get a Fortran-90
> > interface on Windows.
> >
> > > I started because after having spent some days in writing my file
> > > specification in Fortran90 (Solaris mpif90) I was not very happy to
> > > recognize that the windows version is still incomplete and I thought it
> > > would be less effort (and perhaps useful to others) to write the
> > > interfaces instead of reimplementing my stuff in Fortran77.
> > >
> > > As a starting point I've had a look at the hdf5 Fortran90 interface and
> > > ended in code like this:
> > >
> > > INTEGER FUNCTION nf_inq_var(ncid, varid, name, externalType,
> > > numDimensions, dimensionIDs, numAttributes)
> > > integer, intent(in) :: ncid, varid
> > > character (len = *), intent(out) :: name
> > > integer, intent(out) :: externalType, numDimensions
> > > integer, dimension(:), intent(out) :: dimensionIDs
> > > integer, intent(out) :: numAttributes
> > > !DEC$IF DEFINED(NETCDFF90_WINDOWS)
> > > !DEC$ATTRIBUTES
> > > C,reference,decorate,alias:'nc_inq_var'::nf_inq_var
> > > !DEC$ENDIF
> > > END FUNCTION nf_inq_var
> > >
> > > as a (copy/paste) replacement for (much simpler version - but not
> > > compilable with intel fortran in windows):
> > > integer,              external :: nf_inq_var
> > >
> > >
> > > At least it compiles - but I've no idea if it will pass the tests or if
> > > there is some more to think of...
> > >
> > >
> > > As far as I know "mod" files are compiler dependent and using cygwin and
> > > gfortran/g95 is no solution if the linking app is compiled with wintel
> > > fortran.
> >
> > Yes, you're right, the module files are compiler-dependent, which is a
> > problem in making a generally useful F90 interface for Windows.  You
> > really need to provide a separate library and module files for each
> > different Fortran compiler.
> >
> > Please let us know if you succeed in getting a working F90 API for
> > Windows.  I think there would be significant user interest in such a
> > development.
> >
> > --Russ
> >
> > Russ Rew                                         UCAR Unidata Program
> > address@hidden                      http://www.unidata.ucar.edu
> >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: PXE-716414
> > Department: Support netCDF
> > Priority: Normal
> > Status: Closed
> >
> >
> --
> Mit freundlichen Gruessen
> 
> Veit Eitner
> 
> 

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



Ticket Details
===================
Ticket ID: PXE-716414
Department: Support netCDF
Priority: Normal
Status: Closed