compile upwelling to serial/parallel versions

Discussion on computers, ROMS installation and compiling

Moderators: arango, robertson

Post Reply
Message
Author
yanb

compile upwelling to serial/parallel versions

#1 Unread post by yanb »

Hi,

We try to compile the upwelling example into three versions:
1. serial
2. parallel using openmpi
3. parallel using mvapich2

We use gfortran 4.3 and netcdf-3.6.3. The netcdf-3.6.3 is compiled as a shared library
with the following commands:

configure --prefix=/data/progs/netcdf/3.6.3 --enable-shared
make -j8 && make check && make install

and we specify 'LIBS := -L$(NETCDF_LIBDIR) -lnetcdf -lnetcdff' in roms/src/Compilers/Linux-gfortran.mk
to link it to ROMS. The serial version and openmpi version compile and run well, but the
mvapich2 version can't compile and here is the error info:

/usr/bin/cpp -P -traditional -DMPI -DLINUX -DX86_64 -DGFORTRAN -D'ROOT_DIR="/data1/progs/roms/src"' -DUPWELLING -D'HEADER="upwelling.h"' -D'ROMS_HEADER="/data/progs/roms/projects/upwelling-mvapich2/upwelling.h"' -DNestedGrids=1 -D'ANALYTICAL_DIR="/data/progs/roms/projects/upwelling-mvapich2"' -D'MY_ANALYTICAL="on"' -D'SVN_REV="514M"' -IROMS/Include -I/data/progs/roms/projects/upwelling-mvapich2 -IROMS/Nonlinear -IROMS/Nonlinear/Biology -IROMS/Nonlinear/Sediment -IROMS/Utility -IROMS/Drivers -IROMS/Functionals -I/data/progs/roms/projects/upwelling-mvapich2 -IMaster -ICompilers -D'HEADER_DIR="/data/progs/roms/projects/upwelling-mvapich2"' ROMS/Utility/distribute.F > /data/progs/roms/projects/upwelling-mvapich2/Build/distribute.f90
ROMS/Bin/cpp_clean /data/progs/roms/projects/upwelling-mvapich2/Build/distribute.f90
cd /data/progs/roms/projects/upwelling-mvapich2/Build; /usr/local/mvapich2-1.5/bin/mpif90 -c -frepack-arrays -fPIC -O3 -ffast-math -ffree-form -ffree-line-length-none distribute.f90
Fatal Error: Reading module netcdf at line 23 column 34: Expected integer
make: *** [/data/progs/roms/projects/upwelling-mvapich2/Build/distribute.o] Error 1

We also test with the static library of netcdf-3.6.3, it still gives the same error.

Can you please suggest what causes this error?

Thanks,
Beichuan Yan

User avatar
kate
Posts: 4088
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: compile upwelling to serial/parallel versions

#2 Unread post by kate »

distribute.f90 is trying to "use netcdf" and the failure is happening during the reading of the netcdf.mod file. Looking at a netcdf.mod produced by gfortran, this is the header:

Code: Select all

GFORTRAN module created from netcdf.f90 on Thu Oct  7 10:40:20 2010
If you edit this, you'll get what you deserve.
and this is lines 22-23:

Code: Select all

(143 'nf90_abort' 'netcdf' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
FUNCTION) (INTEGER 4 ()) 144 0 (145) () 143 () ())
If you are using the same compiler and same netcdf files for both versions of MPI, I don't understand what you are seeing at all - unless you've confused the compiler with something in the MPI.

yanb

Re: compile upwelling to serial/parallel versions

#3 Unread post by yanb »

Thanks, Kate. We solved this problem, and the latest ROMS and NETCDF work, too.
One more thing, I receive emails titled "What is new in the ROMS Forum" from
robertson@marine.rutgers.edu every day, but I did not subscribe to any forums or
topics. Can you please unsubscribe me from this update?

Thanks,
Beichuan

User avatar
arango
Site Admin
Posts: 1350
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

Re: compile upwelling to serial/parallel versions

#4 Unread post by arango »

Each user registered to access the ROMS source code and associated algorithms from :arrow: www.myroms.org, acknowledged and accepted the following terms and conditions:
It is important to keep users informed of updates and bug fixes. This is achieved through frequent email updates and through discussions in the forum. By checking the box below and clicking accept you are consenting to receive these updates via the ROMS mailing list. You are also consenting to have your ROMS user status terminated if we receive failures to you email address for an extended period of time. If your ROMS user status is terminated, you will be unable to post messages in the forum or download the ROMS source code so please keep your email address up-to-date.
The only person that can remove you from receiving any ROMS related e-mails is David Robertson. We will be happy to comply but this will terminate your access to ROMS code and will terminate all the user privileges and services. It is all up to you. This is not the first time that we heard about the burden of ROMS e-mail and updates. However, this easy to overcome by using institutional e-mail addresses which allow larger mail boxes instead of personal e-mail networks. It will be very easy to anyone to remove such e-mail from inbox mail client.

Recall that ROMS is freely-distributed as specified in the following :arrow: open source license. It is important that any user of ROMS be aware of code changes, bug fixes, new releases, usage, important forum messages, annual open user workshops, and so on. This requires a valid e-mail address from any user. Currently, we don't have exceptions to this rule which you accepted during registration.

Post Reply