Hi, everyone,
I recently downloaded the latest version of ROMS 3.0, I found that there are two netcdf related files (netcdf.mod and typesize.mod) required. these two files weren't required by the version back to June 1, 2007. I wonder where to get these two files, and what's the purpose? For my opinion, I do not think it is a good idea to require more system files in the makefile since regular users of the supercomputer cannot easily add or install such files. It would be better to keep makefile to be more compatable to operating systems.
Can I compile ROMS without netcdf.mod and typesize.mod?
Thanks a lot
makefile of the latest ROMS
Installing NetCDF in userspace
Most recent and complete builds of NetCDF should include a netcdf.mod. Wherever you used to look for netcdf.h, check for netcdf.mod. Or, look for libnetcdf.a, then cd ../include and look there. I'm unfamiliar with typesize.mod, but none of my builds have yet required it; it looks like it may be a UNICOS specific module; hopefully a UNICOS NetCDF build will generate it?
If there is no netcdf.mod there, you can typically build netcdf in your home directory without administrative privileges. Download the latest (I'd recommend the 3.6 series right now, I haven't had the guts to try 4+) netcdf source from:
http://www.unidata.ucar.edu/downloads/netcdf (user registration may be required)
Depending on your system, you may need to read the hints here:
http://www.unidata.ucar.edu/software/ne ... f-install/
Relevant environment variables you might need to set are:
then
Where /home/azhang is your home directory, and ~/netcdf is the directory into which you want the lib/ and include/ directories installed.
Then you just alter your platform-specific ROMS makefiles to point the NETCDF_* variables to /home/azhang/netcdf/[lib,include].
Good Luck ,
CVL
If there is no netcdf.mod there, you can typically build netcdf in your home directory without administrative privileges. Download the latest (I'd recommend the 3.6 series right now, I haven't had the guts to try 4+) netcdf source from:
http://www.unidata.ucar.edu/downloads/netcdf (user registration may be required)
Depending on your system, you may need to read the hints here:
http://www.unidata.ucar.edu/software/ne ... f-install/
Relevant environment variables you might need to set are:
- CC - your C compiler (probably gcc)
FC - your fortran compiler (probably f90, ifc, pgf90, g95, or similar)
F90 - likely the same as FC, this may be redundant now
FFLAGS - compiler specific fortran flags
CFLAGS - compiler specific C flags
Code: Select all
./configure --prefix=/home/azhang/netcdf
Code: Select all
make
make install
Then you just alter your platform-specific ROMS makefiles to point the NETCDF_* variables to /home/azhang/netcdf/[lib,include].
Good Luck ,
CVL
Should anyone follow this, I was wrong about this:
I did a lazy find and forget to look for typesizes.mod. typesizes.mod looks to be standard. Oh well, the NetCDF build info is still loosely correct for those interested.it looks like it may be a UNICOS specific module; hopefully a UNICOS NetCDF build will generate it?
This is a dangerous practice and not likely to work if you truly need the typesize.mod file. The .mod files are specific to both your machine and your compiler, perhaps even your compiler version or options. Don't expect to be able to take it from one system to another.azhang wrote:I found netcdf.mod file in the system, and I copied the typesize.mod of my linux system to the NCEP's IBM system, so compiling is fine now.
Thanks again.