I'm a new user of ROMS. I'm a post-doc at OSU under John Allen. I've been successfully running ROMS 2.0 in serial, but now am having problems running it in parallel. Scott Durski suggested I go straight to the source and ask you. Here are the details of my problem:
ROMS VERSION: 2.0
SYSTEM: SunBlade 2000 (2 processors)
MAKEFILE: Configuration file for OpenMP, Sun f90 Solaris
In "cppdefs.h" I have set #undef SERIAL for my case and in "ocean.in" I have set NtileI=2 and NtileJ=1.
I have setenv PARALLEL 2 (I've even tried setenv OMP_NUM_THREADS= 2). When I execute oceanO < ocean.in, the model runs but only uses half the CPU. This means it is only using one processor.
Following similar steps for the ROMS 1.8 code allows me to use two processors, but I would really like to use the newest version.
I did make a change in the Makefile because of a compiling problem: I moved -openmp from FFLAGS to LDFLAGS. I mention this, just in case this is crucial.
I've been thinking more about the problem. Perhaps the reason ROMS 2.0 doesn't make use of both processors does have to do with my change to the Makefile (the OpenMP for Sun version).
Here are the original flags:
Code: Select all
LDFLAGS =
FFLAGS = -openmp -05 -u -U -C -g -xs
Code: Select all
INTERNAL COMPILER ERROR line 104 in pre_step3d.f90 (phase CrayConvert):
't$14' found but not the correct kind of symbol
*** Error code 1
make: Fatal error: Command failed for target `pre_step3d.o'
Code: Select all
LDFLAGS = -openmp
FFLAGS = -mp=openmp -stackvar -D_OPENMP=2000011 -05 -u -U -C -g -xs
Michael M. Whitney
whitney@coas.oregonstate.edu