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

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



Hi Veit,

> verified compilation of the modified windows version using
> SolarisX86/SunCompiler.
> 
> The large_file_tests wont compile - looks like I've broken something -
> sorry.

We've recently discovered a couple of bugs in large file support and will have
at least two fixes in the 4.1.2 release.  We might be able to figure out what's
going on with the large file tests in your changes ...

> Without the large_file_tests it runs smoothly.

Excellent, and thanks for contributing the results!  We would like to 
incorporate what you've done into the upcoming netCDF 4.1.2 release, 
so that other users can benefit.

We may have additional questions if we have problems trying to integrate this
into the distribution.

I've also added your name to the list of netCDF contributors, linked from the 
netCDF home page:

  http://www.unidata.ucar.edu/netcdf/credits.html

Regards,
--Russ

> Commands used:
> 
> find . -name "*.sh" -exec chmod 755 {} \;
> FC=/usr/local/hdf5/bin/h5pfc CC=/usr/local/hdf5/bin/h5pcc ./configure
> --prefix=/usr/local/netcdf --disable-cxx --enable-netcdf4
> make check | tee check.result.txt
> 
> 
> Attached you will find the output
> Regards
> Veit
> 
> 
> On Fri, 2010-06-04 at 13:25 -0600, Unidata netCDF Support wrote:
> > 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
> >
> 
> 
> 

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