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
compile upwelling to serial/parallel versions
Re: compile upwelling to serial/parallel versions
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:
and this is lines 22-23:
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.
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.
Code: Select all
(143 'nf90_abort' 'netcdf' 1 ((PROCEDURE UNKNOWN-INTENT MODULE-PROC DECL
FUNCTION) (INTEGER 4 ()) 144 0 (145) () 143 () ())
Re: compile upwelling to serial/parallel versions
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
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
- arango
- Site Admin
- Posts: 1367
- Joined: Wed Feb 26, 2003 4:41 pm
- Location: DMCS, Rutgers University
- Contact:
Re: compile upwelling to serial/parallel versions
Each user registered to access the ROMS source code and associated algorithms from www.myroms.org, acknowledged and accepted the following terms and conditions:
Recall that ROMS is freely-distributed as specified in the following 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.
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.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.
Recall that ROMS is freely-distributed as specified in the following 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.