Ocean Modeling Discussion

ROMS/TOMS

Search for:
It is currently Sat Dec 16, 2017 7:10 am




Post new topic Reply to topic  [ 1 post ] 

All times are UTC

Author Message
PostPosted: Fri Jul 24, 2009 6:25 pm 
Offline
Site Admin
User avatar

Joined: Wed Feb 26, 2003 4:41 pm
Posts: 1019
Location: IMCS, Rutgers University
There are several posts in this forum about running ROMS in parallel and the type of I/O that we can have.

  • In distributed-memory (MPI, OpenMPI) you can run ROMS with either serial I/O or parallel I/O. Users should try serial I/O on mostly all their applications. There are still efficiency problems with parallel I/O in ROMS and in general. Notice that to activate parallel I/O in ROMS, you need to activate both PARALLEL_IO and NETCDF4 C-preprocessing options, and you need the parallel NetCDF-4 and HDF5 libraries (--enable-parallel flag when configuring). This is only possible with MPI-2 since we need the MPI-IO layer. Check the following :arrow: post for details. There is also :arrow: information about how to prepare the parallel I/O files. However, you can still run your distributed-memory ROMS applications with serial I/O using either the NetCDF-3 or the serial NetCDF-4/HDF5 libraries. If you have problems compiling the serial or parallel NetCDF-4/HDF5 libraries, you still can use the NetCDF-3 library. That is, when running ROMS in distributed-memory not necessarily implies parallel I/O :!:

  • In shared-memory (OpenMP) ROMS applications, only serial I/O is possible with either the NetCDF-3 or serial NetCDF-4/HDF5 libraries. Notice that is posible to build the NetCDF-4/HDF5 libraries without parallel I/O support. As a matter of fact, this is the default option when building these libraries. To activate parallel I/O, you need to use the --enable-parallel flag when configuring and compiling these libraries.

  • In serial ROMS applications, only serial I/O is possible with either the NetCDF-3 or serial NetCDF-4/HDF5 libraries.

  • Notice that all these possible compiling combinations are well described and specified in the build script (build.sh or build.bash). There is plenty of information in the :arrow: wiki about the build script. You should use always the build script when compiling ROMS.

  • ROMS plotting package can be compiled with either the NetCDF-3 or the serial NetCDF-4/HDF5 libraries. The plotting programs (ccnt, cnt, csec, and sec) cannot be run in parallel :!:

I hope that this clarify many of the questions that we see in this forum about this subject. You may ask, why do we need so many combinations of these libraries? The short answer is Fortran-90. There has been a lot of inquires about this in the NetCDF forum, recently. Notice that we need to have all these combinations for each compiler (pgi, ifort, gfortan, ...) and for each distributed-memory implementation (MPICH, MPICH2, OpenMPI, ...) :roll:


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 1 post ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group