This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
> 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