- 03-Sep-2004: Upgraded all software to Fortran95. Initialisation functions removed.
- 19-Nov-2003: First release.
- The code requires a Fortran95 compiler.
- Each program tarball contains all the required code, test datafiles, and a makefile
for unix platforms. The makefile names in each program tarball are the same, so if you
explode the tarballs in the same directory, rename them to prevent overwriting.
- All the required support code/modules are replicated in each tarball.
- All compilation macros and rules are defined in make.macros and
make.rules respectively. The make.macros
file contains the default compiler options for all the tested systems:
- linux using Intel (v8.1.023)
- linux using Lahey (v6.2c)
- linux using pgf90 (v5.2-4) [1]
- linux using g95 (Dec 20, 2004) [2]
- SGI IRIX64 [3]
- Sun Solaris
- IBM AIX
Simply typing make on the command line will select the
correct platform. For linux systems, you should check the Linux_FLAGS
macro definition in the make.macros file to determine the default compiler.
- The netCDF I/O code requires the netCDF libraries and the Fortran90 API. You can get more
information from my netCDF page, or
you can visit the
Unidata netCDF
page to download and install the netCDF libraries.
- If you are compiling on a SunOS system, you must change the makefile
include macro
INCLUDES = -I$(HOME)/local/netcdf/include
to
INCLUDES = -M$(HOME)/local/netcdf/include
The Sun compiler uses a different switch (-M) for including
module interface files (the .mod ones).
-
If you are using the PGI compiler, you must have at least v5.2-1,
their Fortran95 compiler. However, this version of the compiler is
buggy and will most likely not compile all the source code. Fixes for
the most egregious problems were scheduled for the v5.2-2 release but
I'm still having problems with the 5.2-4 release. Regardless, I've given
up on this compiler for now.
-
The netCDF libraries compiled successfully with this g95 release. However
some of my application test programs failed using the g95-compiled netCDF
libraries where the Intel and Lahey generated libraries worked fine.
-
If you are on an SGI, you may or may not be able to compile all the code.
As far as I can tell SGI don't have their own f95 compiler -- but you can
purchase SGI ports of the NAG f95 compiler. The SGI MIPSPro f90 compiler
can handle most Fortran95 syntax, but not all. In particular, my SGI test
platform had problems with name specifications on END INTERFACE
statements but, strangely enough, only for defined operators not generic
procedures. More seriously, it appears that the SGI MIPSPro f90 compiler
accepts the use of the NULL intrinsic in derived type pointer
component initializations, but may not actually nullify the pointer. A
compiler switch may force this behaviour, but I haven't tested it.
SRF Code Download Links
This page maintained by Paul van Delst
Last updated 2005/01/11 19:56:18